Folkrace 187


In Swedish Robot Championship there’s a tournament that is called Folkrace where autonomous cars is racing around a track. A sub class of this is a miniature race in scale 1:87.


So I started out on a Fuller Car system truck in scale 1:87. It have some really nice suspension and drivetrain but is made for following a iron track.


A NodeMCU development kit (ESP8266) almost fitted the truck bed, if i filed of 0.5mm of it i fitted perfectly.


I solved the steering by cutting a hole, big enough for a small servo, in the trucks chassis.
Then i glued on a small magnet that aligned with the already existing magnet in the steering system.


I then mounted 3 VL53L0X ToF (Time of FLight) distance sensors inside the cab of the truck. The sensors is pointing out from the same holes the windows are located.
The sensors will be used to locate walls and other trucks, it’s gives a pretty low resolution, but should be enough.


The space inside the truck bed is cramped, and I mean it. After fitting a small H-bridge, a couple of batteries and some cables together with a start module nothing more can fit.

As if the cramped space inside the truck bed was not a challenge big enough I choose to run Micro Python on the MCU.
It’s pretty nice and all, I could remotly upload new Python code to the flash and run my test scripts inside a Python interactive terminal.
You can find the code here: https://github.com/TimGremalm/Folkrace187

I found the challenges of the small form factor thrilling, it was a really fun adventure puzzling everything together and make it look pretty stock.
But there is room for many improvements! The Fuller Car system have a very nice steering system, and it’s very useful for a future design.
But Fullers drive train is a worm gear, it makes it strong but gives the drive train some momentum that makes the car slow in response when braking och switching between going forward and backwards. For future builds I would have to build my own drive train.

The cramped space inside the truck bed is due to a lot of premade modules and a lot of cables. A more effective way of doing it would be to make a PCB with a ESP8266, H-bridge and sensor bus built in.

Also I think I would abandon Micro Python for C and Free RTOS. The VL53L0X driver is very slow in Micro Python and it takes too long to read 3 sensors. The whole driver thing is pretty hard to fault find and gives great me a great hazzle.

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.

go:toTrash – Live testing


Our control-input to steer the motors was through a Python-terminal


We placed a temporary emergency-stop on top of the trashcan to cut the power. In the future we will use a piezo-element to detect and trigger emergency-stop when someone is hitting the trashcan.


We did test go:toTrash inside at first to get ea feel about how the platform worked.
It worked great, so we tried to force it and learn its limits.


We also did some testing outside. go:toTrash also met a collegue on it’s way, a compression-trashcan.

We also did some testing on the paving stone, we discovered that go:toTrash were more stable on the pavement than we first thought.

RoBot (IRC-Bot, More than just chat)

RoBot is a IRC-bot that fades the boundarys between the online-world and the physical. At CRF (Chalmers Robotics Society) we have that problem that people is to busy making robots that we dont notice the IRC-messages that are coming in on our TV-computer. RoBot is looking for certain keywords in the #CRF-channel. So if anyone really want attention in the workshop all they has to do is write tvdatorn (swedish for tv-computer) and blue lights will start flashing and a buzzer will beep.

RoBot (IRC-bot that connects)

RoBot is a IRC-bot that fades the boundary’s between the online-world and the physical. At CRF (Chalmers Robotics Society) we have that problem that people is to busy making robots that we don’t notice the IRC-messages that are coming in on our TV-computer. RoBot is looking for certain keywords in the #CRF-channel. So if anyone really want attention in the workshop all they has to do is write “tvdatorn” (swedish for tv-computer) and blue lights will start flashing and a buzzer will beep.

This is how the workshop looks like and when the lights turn on.

J.K.Abrams has built a device to trigger external devices with 5V from the LPT-port (also known as the Printer-port). He uses a Darlington-amplifier to amplify the signal-outputs from the 8 output-pins on the LPT.
The 5V output can be used to drive a relay that triggers a blue flashing light for example, or a buzzer.

J.K.Abrams LPT-trigger-thingy showing its guts. Eagle-schematics will soon be up…

On CRF’s webpage thare’s a webcam, we have integrated a webbased chat-client for those who don’t use IRC regularly and still want to interact with the people in the workshop.

The source-code and executables for RoBot is available here (VB6 zip), it’s written in Visual Basic 6 and basically acts like an ordinary IRC-client.

I-Are-Bot Ramp

I-Are-Bot needed a ramp so I started working on some prototypes. The idea i got from a forklift, use the weight of the machine to lift. By tilting my servos up an down I can change the angle of the ramp and thereby lift an opponent.
The first two prototypes was discarded as they were too unstable and weak, but the third one turned out pretty well.

The two aluminum profiles attached to the ramp are mounted on the wheel-axis and can be folded. In a angled outright position the ramp touches the side of the gearbox and constrains the ramp to go further down. In a folded state the ramp looks pretty slick, but the ramp prevents the lifting-arm from going up and down. The solution to this was to mount the lifting-arm further up. To do this I’d to build a extra mount, I saw a perfectly good reason to practice my CNC-skills and started CAD:ing.

The ramp can hold much weight, I’ve tried weights around 300g.

The prototypes.