The Wednesday Update: It’s alive!

Hello and welcome to another Wednesday update on a different day than Wednesday. This afternoon I tried to focus on 1 task, get my Inmoov robotic head talking. Short version, I DID IT!

As you can see there is plenty of room for improvement however it does work. I want to get the lipsync working a bit better (this is usually down to tweaking the volume output) and the voice is pretty terrible. I need to cure the speaker interference too.

However, there is something else going on here that’s pretty cool. It is wired up to the Burf.co Chat API which makes it a perfect testbed for the website. The API at the moment is just a standard implementation of an AIML library however this opens the doors to do some pretty cool stuff

Check out Wikipedia for more info on AIML

The code is written in Python and is fairly simple stuff, there are lots of examples to make your own Jarvis on the web. The pain was getting the Speech Recogniser working on the Pi. The LipSync purely works by the audio level coming from the headphone jack.

Misc

I also finished a course on Matlab to help me finish Introducing Robotics.

Raspberry Pi and the LEGO NXT

For Christmas my lovely wife got me a Raspberry Pi Starter Kit. I wanted one of these since I saw that people had made it control an NXT via NXT-Python.  I thought that it would be cool to do the same so I found this website and followed what I could.  I am a programmer but I have limited Linux and no Python experience.

I followed this installation guide from NXT-Python: http://code.google.com/p/nxt-python/wiki/Installation

You will need to install PyUSB, to do this just run “apt-get install python-usb” under root terminal.

I only managed to get this working once I had restored the LEGO NXT 2.0 firmware on to the NXT brick.  I also had to make a NXT-Python config file and enter the NXT’s address in to it (you can find this under settings and NXT version on the NXT).  Information on making a config file can be found here: http://code.google.com/p/nxt-python/wiki/LocationConfig

All of my NXT’s started with 0016.  This should be entered as 2 parts of the address so in the config file you should have something like

[Brick]
name = MyNXT
host = 00:16:XX:XX:XX:XX
strict = 0
method = usb=True, bluetooth=False, fantomusb=False

The video below shows the Mary example running from the NXT-Python samples.

What next? Well I now have a portable computer driving my NXT which has WIFI support and can run a webserver. It should not be too hard to turn the Pi in to an advance WIFI sensor for the NXT and cost a 1/3 of the price.