Cooking food with a robot – a good learning experience


So we have this awesome Universal Robots arm at work. One night my colleagues had been experimenting with emptying the coffee grain, and after that it was just standing there mounted and everything.
I couldn’t miss this opportunity, so I decided to cook with it as my first robot programming experience!

So I thought about what food would be the most easy to cook, and then it hit me; premade tomato soup. I rushed to the store and got some soup.
The programming experience was easy to pick up I didn’t read anything out of the manual.

I wanted a pretty simple program:
* Pick up stiring device
* Move to pot
* Stir until cooked
* Remove and drop stiring device

I made some absolute key frames and let the robot handle the interpolation and movement.
I also hooked up a switch and made the robot stir the pot until the switch was activated.

Skrivbord – An overengineered workstation


So I have wanted to build a desk for many years now, ideas have grown and so has the big feature list. But since my interest have moved away from software to electronics my requirements have changed. I need a lot bigger work space for tools and more shelves for instruments, and still a lot of screens.
So 3 years ago I started on my desk design. I decided that I wanted to go for aluminium profiles for my frame, both because it’s flexible and something I had not tried it before.
I also wanted as much of the construction to be as precise as possible, so everything is constructed in CAD. Mechanics strength tested, mechatronics is movement tested, material purchase planned and material is CNC cut as much as possible.
By the end of 2018 I started the weeks long process of assemble it all.

I made a drawing with assembly instructions based on my CAD design Skrivbord (Workstation, Gremalm).pdf. But I quickly decided to change the assembly order to make two stable outer pieces to build the rest on, it also meant that I didn’t have to turn the whole assembly too much.


The two outer pieces assembled.


Sliders for the raise-able desk and shelf are mounted on the sides. It’s MGN12H linear sliders often used in smaller CNC builds.


Desk assembled.


Center pieces to hold the two sides together.


To make the desk move up and down in the sliders I’ve constructed a linear actuator using a threaded rod, some pulleys and a stepper motor. It all goes together in this lower center assembly.


The desk was lifted in place and screwed into the MGN12H blocks. It should have been a lot of over constrains in the desk assembly, but it could move up and down pretty easy.


The desk shelf will hold all the monitors, and is attached to the big desk. That means when the desk is raised or lowered the computer monitors will follow. I used an old used actuator for this purpose that I had laying around.


Instead of using CNC cut polycarbonate I ordered laser cut ABS sheets for the desk because it was a lot cheaper. I found this neat laser cut order system where I could upload my DXF-files directly on the web and isntantly get a quote. https://smidyo.com/


To raise and lower the desk I made a small control box. It have two stepper drivers inside that drives each side of the desk.
A VL53L0X ToF (Time-of-Flight) sensor is measuring the distance to the desk so the control box can regulate the height. This also gives me an absolute height of the desk when restarting the MCU.
An ESP32 connects to a MQTT server and serves a desired height topic, when a new goal is set the control box will start to raise/lower the desk until the goal is set.
https://github.com/TimGremalm/SkrivbordDeskStepper
There’s also manual override for the desk with ordinary switches.

So in the end, was it worth it? No; the whole construction ended up far too expensive both in cost and time. But it was a nice experience to design something this big and follow through building it.
A far more effective workstation would be to purchase a cheap Ikea shelf and then place a raisable desk in front of it.

go:toTrash

Here’s a new project me and my friends are working on, go:toTrash. It’s a radio-controlled trashcan that is supposed to help people throw their trash properly.

Our city, Göteborg Stad, are doing a marketing campaign to prevent littering on the streets. In collaboration with the advertising company Frank & Earnest they gave Chalmers Robotics the challenge to make Göteborgs iconic trashcan movable.

The trashcan weights around 90 kg, so we have to put some strong motors in to make it move.
The plan is to help people throw their trash more easily by driving the trashcan to them. So the driving velocity is going to be quite low, at the most 5km/h.
One evening at the hackerspace Simplex Motion came by to visit us and introduce their cool servo-motor 100A. They asked us to use it and evaluate it.
Simple Motion 100A is a servo with a BLDC and a outrunnermotor inside of it, it runs on 12-24VDC and can deliver 100W (400 peak).  We soon implemented it into our project.
Our teammember Erik Sternå did some calculations on the forces needed to drive the trashcan and came to the conclusion that we needed a gearbox with 1:25 ratio.
We come i touch with OEM Motor that sponsored the project with gearboxes.
Unfortunately we don’t have time to buy an implement a belt-driven wheels, so we have to connect the shaft to the wheel with a shaft-coupling. This makes the driveline quite long, so long that we can’t make the wheel-pairs symmetrical. The shafts are offset by 65mm.
It’s not a optimal placement for the wheels but okey, we can always compensate for it in the software.