TicTacToe Playing LEGO Mindstorms Robot Using Computer Vision

You can play TicTacToe with this LEGO Mindstorms EV3 robot. It uses three motors to drop the balls into the right field. It uses a NXTCam to view the board and then calculates the best move using a MiniMax Algorithm. All future moves are explored an rated according to their winning chances. The work is based on the TicTacToe code of Thomas Kaffka. An IR sensor detects your hand when you drop your ball. The robot is using red balls and the human player uses blue balls. The Java code is available over at Github. The building instructions are available for LEGO Digital Designer. I used the MinuteBot baseplate, which is useful for building static Technic/Mindstorms models.


LDD does not have all the required pars in its database. You will have to replace 22961 with 27940. You will also need to add a worm wheel 27938. In addition you should use a lamp to provide consistent lighting. I used a USB powered LED circular lamp the can be powered through the USB port of the EV3. I only had to take out the lens in the middle so that the camera fits through the hole. A rubber band holds the light in place. To calibrate the robot I added a little arm at the end of the base plate against which the robot arm rotates. The position of the camera can be centered on the board using the wrench and through sliding along the axles.

You can also find information about the robot over at Rebrickable. The inventory there is correct and complete. Except for the base plate of course.


LEGO Compatible Medium Sized Thrust Ball Bearing

LEGO’s turn table has considerable friction and rotating a model at an exhibition for a whole day would ruin it. A thrust ball bearing is necessary to decrease the friction. I previously 3D printed a large bearing for my Unikitty. For this year’s exhibition I needed a smaller thrust ball bearing so I designed a new medium sized ball bearing. It includes liftarms to hold a worm wheel which results in a rotation ratio of 1:78. You can download the model from A360 and GrabCAD.

Continue reading “LEGO Compatible Medium Sized Thrust Ball Bearing”

Working in a “smart” building

For more than a year I have the pleasure to work in an office in the John Britten building at the University of Canterbury. The office is light, friendly and spacious. I should be more than happy but this building comes with a twist. It is smart. The room has a motion sensor and a temperature sensor. The lights are suppose to go on when activity is detected and the window is suppose to open when it becomes too hot in the room. Notice that this smart building does not have the ability to regulate the heaters. If I switch the heater fully on and thereby create a little sauna then the building will open the window instead of regulating down the heater. I am not sure if this is smart.

The biggest problem is that the window’s behaviour could best be described as neurotic. It opens and closes nervously without considering the noise it makes or the noise that the construction site outside is creating. The only way to tame this autonomous monster is to log into a website and set the window to manual. There is no switch or lever that I could use.

LEGO EV3 Robot Measures the Environment

So I ended up creating a little LEGO robot that would log the environment of the office and the opening of the window in the hope to detect a pattern. Something to convince me that there is method in this madness. Other than that the windows close at 5pm sharp I could not. But along the way I learned a bit more about information visualization on the web and how to to create a useful little logging robot. Have a look at the graph that I produced.


Revisiting 8230 Coastal Police Buggy – Stud.io Review

A review of the new Stud.io closed beta software. It is an excellent LEGO digital design software with a huge potential.

Back in 1996 I created 3D animated building instructions for the set 8230 Coasatal Policy Buggy. It was part of an internship at a 3D Company and it took me months to model every brick and to animate the whole model. Below is a rendering that took half a day to render. Twenty years later it is time to build this model again. Not with LEGO Digital Designer (LDD), but with Stud.io, the latest addition to virtual LEGO editors. Stud.io is currently a closed beta and the makers of Bricklink sign responsible for its development. Continue reading “Revisiting 8230 Coastal Police Buggy – Stud.io Review”

iOS Just Got A Paper On Nuclear Physics Accepted At A Scientific Conference

Automatically generating scientific articles has become easy with dedicated software such as SCIgen. Even a paper that only repeated the sentence “Get me of your fucking mailing list” was recently accepted for publication. Today I received an invitation from the International Conference on Atomic and Nuclear Physics to submit a paper. Since I have practically no knowledge of Nuclear Physics I resorted to iOS auto-complete function to help me writing the paper. I started a sentence with “Atomic” or “Nuclear” and then randomly hit the auto-complete suggestions. The text really does not make any sense. After adding the first illustration on nuclear physics from Wikipedia, some references and creating a fake identity (Iris Pear, aka Siri Apple) I submitted the paper which was accepted only three hours later! I know that iOS is a pretty good software, but reaching tenure has never been this close.

UPDATE (27/10/2016): Turns out that conference organizer, OMICS Group, is currently under federal investigation.

Here is a short demonstration on how I wrote the paper:


Here is the acceptance notification: