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.

 

Using your LEGO Mindstorms RCX on a modern computer

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.

Continue reading “Using your LEGO Mindstorms RCX on a modern computer”

Tutorial on how to install and run Java on Lego Mindstorms EV3 using Eclipse on Mac OS X

This is tutorial on how to install and run Java on your LEGO Mindstorms EV3 using Eclipse and LeJOS.

We will be installing Java and the Eclipse Integrated Development Environment (IDE). This will allow us to develop your LEGO Minstorms EV3 software in Java and running it on the EV3 using LeJoS. Please let me know in the comments if you encounter any problems. I will try to keep this tutorial up to date.

You will need:

This tutorial will only get you started and you might want to dive much deeper into Java development for the EV3. These books might be useful for you:

My personal favourite for building amazing mechanism is Sariel’s book:

Continue reading “Tutorial on how to install and run Java on Lego Mindstorms EV3 using Eclipse on Mac OS X”

Problem with flickering pixels on Philips BDM4350UC/75

Problem with flickering pixels on Philips BDM4350UC/75 monitor.

I enjoyed the large 43″ Philips BDM4350UC/75 for two weeks now and the screen size is just wonderful. It is just like to large monitors in one. I discovered to problems, one just a bit annoying and another rather big issue.

The smaller issue is related to the power saving function. When I ran the all black screen saver on my Mac Pro, the screen seems to go into its own sleep mode of which it does barely ever awake. Sometimes I could bring up the OSD and this would bring the screen back to life. I got used to switching the screen off with its own power switch and turn it back on in the morning. This might not be such a bad idea anyway.

The bigger issue is the display of certain colors, or the lack there of. When I want to show light grays, such as RGB 193,187,194 I get vertical lines of flickering pixels. I took a photo of the screen to demonstrate the effect. We visited the dealer and tried the same color/image on their showcase model with the same result. There seems to be an issue with this Philips display. Be aware!

Philips BDM4350UC/75 flickering pixels