"Making Human-Robot Interaction Enjoyable"

Share and enjoy!

TicTacToe Playing LEGO Mindstorms Robot Using Computer Vision

Posted by on Jul 17, 2017 in Documentation, Featured, LEGO, Project | 3 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

Health Mate App Has Many Problems Since Nokia Took Over From Withings

Posted by on Jun 27, 2017 in Design, Technology | 65 comments

I like my Withings products and the the associated Health Mate App has been a pleasure to work with in the past. Recently Nokia took over Withings and also rebranded the whole product range. They also gave the Health Mate App a complete new design. What really upsets me is that they did not manage to come even close to the functionality that Withings’ original Health Mate app offered. I received the following reply from Nokia after asking them where my swim tracking data had gone:

Below you will find a list of known issues that we are in the process of fixing:

  • Health Mate isn’t sending data to Apple Health
  • Historical weight data not displayed in app
  • Navigation and UI issues with weight data graphs
  • Temperature and CO2 widgets missing
  • Luminosity, Noise, and Temperature data not displayed for Aura users
  • Normal ranges for Weight, BMI, Body Composition not appearing in the app
  • Swim data missing from the app
  • Inability to BMI widget to Dashboard
  • Inability to set or edit alarms on the Aura
  • Inability to log food or access the Nutrition screens
  • Inability to link Health Mate to MyFitnessPal
  • Inability to edit your Profile (email address, height)
  • Inability to set or change a Reminder
  • Inability to link to MyFitnessPal

Note that this is the bugs they are currently working on, after they already released a bug fix on June 23rd (version 3.0.2). Why do they release an incomplete and buggy app? Yes, it looks fancy, but how about focusing on the functionality first? This is not a good sign for Withings products. I really hope that Nokia does not ruin their beautiful products.

UPDATE: 8 August 2017

My Health Mate App updated automatically and Nokia put up a rather apologetic message. I can’t test if all the functionality they promised now really works, but at least some connection to Runkeeper is now working. My Swimming data usually is displayed twice, which remains a bit of a bummer.

Nokia apologises

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

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

Posted by on Jun 4, 2017 in Documentation, Technology | 0 comments

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:

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