LEGO

TicTacToe Playing LEGO Mindstorms Robot Using Computer Vision

Posted by on Jul 17, 2017 in Documentation, Featured, LEGO, Project | 8 comments

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.

 

Read More

Using your LEGO Mindstorms RCX on a modern computer

Posted by on Jun 8, 2017 in Documentation, LEGO | 0 comments

Bringing back your old LEGO Mindstorms RCX to life is easier than you might expect. The bottleneck is being able to communicate with the RCX using the Infrared Communication Tower. Version 1 used a tower that was attached to the computer using the old serial port (RS232) while version 2 used a USB tower. The later is much easier to use these days since most computers still have plugs that are compatible with USB1.1. For this tutorial you will need:

We will setup a virtual machine on your host computer (Mac or PC) and install Windows XP on it. We will then install the original Robotic Invention System (RIS) so that the USB driver is correctly installed. You can then use RIS to program you RCX or you can setup many other programming environments/languages. Another problem you might encounter is that the cables used to connect the sensor and actuators to the RCX have become brittle and the isolation comes off easily. You can still buy some new cables from Bricklink.

Read More

LEGO Compatible Medium Sized Thrust Ball Bearing

Posted by on May 24, 2017 in Design, Featured, LEGO, Technology | 0 comments

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.

Read More

Working in a “smart” building

Posted by on May 19, 2017 in Featured, LEGO | 0 comments

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.

 

Read More

Stud.io now supports Sketchfab

Posted by on May 17, 2017 in LEGO | 0 comments

Bricklink’s Stud.io software for building virtual LEGO models now support Sketchfab. You can upload your model directly from Stud.io to their website and then embed it into your web page. I used my 8230 Policy Buggy model to test the system.

Read More

Ultra compact LEGO compatible ball bearing

Posted by on May 14, 2017 in LEGO | 0 comments

It is still difficult to rotate heavy objects with LEGO and hence I designed an ultra compact LEGO compatible ball bearing. it is only 6 studs wide and two studs high. I also added two lift arms. You can put a worm wheel in there to rotate the turn table. The 3D model is available for download from Autodesk. You may need Fusion 360 to work with the model.

This ball bearing is so small that you need a very high resolution printer to get good results. Some of the wall thicknesses could be to small to get printed on low quality printers. I will now be working on a slightly bigger version that can be printed on more affordable printers.

Read More