Hull Pixelbot Code Version 3.0

The latest version of the Hull Pixebot Code engine is now available on Github. You can use this to download little programs into your robot where they are stored and interpreted. It makes controlling your robot a snap (said the man who wrote it). 

You can get the latest version of the code here

You can get the latest documentation here.

This is a stepping stone on the way to a full scripting language which will run inside the Hull Pixelbot. This version provides support for variables, simple expressions and conditional execution. It is designed to provide the execution engine for the script that I'm working on.

I'm quite proud of it. 

Build a Robot in One Day

The team at the start of the day. Click through for a 360 degree view

Well, that was fun. By the end everybody had a robot moving around and using a distance sensor to notice things. Thanks to c4di for hosting, Robin for providing invaluable support and everyone for getting so absorbed in their building that they forgot two coffee breaks and I had to order them out of the room for lunch.......

Intense concentration....

Hull Pixelbots at the Hull Science Festival

Twelve robots, six hours, hundreds of people coming. What could go wrong?

As it turned out, not a lot. While we had the occasional "rogue robot", and at one point the network decided to completely reset itself, I'm very pleased to be able to write that most of the time things worked very well. We had so many robot races that in the end I ran out of winner's certificates. But everyone left happy.

Thanks so much to my helpers, and the University of Hull for organising such an awesome event.

Hull Pixelbot Script

I'm not sure if I'll ever get this working, but I am sure that without the language design I'll never get it to go.

I've got a tiny little language running inside the Hull Pixelbot which works rather well. All the commands are two characters and they are interpreted by the Arduino that controls the motors and sensors. And I can store the programs inside the robot EEPROM, as well as deploy them from Azure IOT hub amongst other place.

But the language is a bit of a pain to use to be honest. And there are things I just can't do. So it's time to make a proper language. I'm calling it Hull Pixelbot Script.

I've not done programming language design for a while. I'm a big fan of syntax diagrams (or railroad diagrams). To me they seem a really neat way to express the arrangement of a language. Above you can see the design for the statement element of Hull Pixelbot Script. You can see that the colour (or color) command must be followed by three values which are separated by commas, and an if statement can control a large number of statements (and maybe I could add an else later).

I made the diagrams by using a web site that takes my grammar and makes the nice looking output. It took me a while to remember how EBNF (Extended Backus–Naur form) fits together, but I'm quite pleased with the result.

Of course I've actually achieved very little, what I now have to do is build the actual code that implements the language.

But it's a start.  

Red Nose Day Racing and Rhyming

Well, that was a fun day. Up bright and early to head up town to talk about the Great Robot Race on Radio Humberside, then home to write some poetry, then up to c4di to run the first race (which went rather well as you can see above). Then home for another radio chat, then tea and finally out to the University to deliver a lecture in rhyme. And race some more robots.

This is the winner of the first ever Hull Pixelbot Great Robot Race, who succeeded by using a cunning trick called "taking the race seriously".

 

This is the racing action at the Lecture in Rhyme

..and these are the winners of the rhyming race.

A good time was had by all, I took 149.68 over the two events, which I've generously rounded up to 150 pounds. That'll make my total takings up to over 600 pounds once I pay it all in. Not quite tutu money, but I'm happy with that.

If you want to take me closer to my 1,000 target, you can still give me some cash here.

Red Nose Day Robots

I've got confirmation of the venue for my world famous (in my world) Comic Relief lecture in rhyme for 2017. I've been producing bad poetry in aid of charity for over twenty years. This year I'm breaking one of the immutable laws of showbiz:

Never work with children, animals or robots.

My lecture will be accompanied by a horde of Hull Pixelbot robots, each of which has a mind of its own (and isn't afraid of using it). You'll even be able to control the robots yourself during the lecture. As long as you've sponsored me here.  

I've chosen a crack team of robots to help in the presentation. Above you can see them being put through their paces.

The lecture starts at 7:00 pm in the Large Lecture Theatre in the Applied Science 3 building on the Hull University campus. You can find a map of the campus here.

There is free admission to the lecture but, as always, you'll have to pay to get out. I'll have robots guarding all the doors.

Please come. Bring money. Bring a friend. Bring pies.

"Alloy" wheels for the Hull Pixelbot

OK, they're not really alloy. Although you could cast them out of shiny metal if you wanted. I'm going to have a go with some metallic filament I've got lying around.

Anyhoo, I've spent some time today improving the Hull Pixelbot wheels. They've been simple disks for too long. They now have a specially designed rim which turns a simple elastic band into a workable tyre (and the band doesn't seem to come off) and the rim is actually narrower than the wheel. And, the wheel now has holes in for lower weight, a better 0-60 time and faster printing.

I've just to do one final test on the finished design and then I'll put them on GitHub.

Light Pipes and Off Roading

I've been experimenting with some wheels I found on a different, lessor, robot. They are about the right size, and they give a Hull Pixelbot a nice "off-road" feel. They make turning a bit more difficult though, as the thick tyres are very grippy. 

I've also been playing with printing "light pipes" inside the shade for the pixels. The idea is to give better defined points for a camera to track the position and orientation of the robot. But I think the results are quite artistic too. 

Hull Pixelbot Seminar Fun

I've not taken an audience picture for a while.

And it shows.

Anyhoo, I gave my Hull Pixelbot seminar today. Great fun (at least I enjoyed it). Most everything worked and we had some great discussions about games involving the robots.

You can find the slide deck here.

I'm feverishly writing the howto guides and getting the software ready for the "big upload" on Friday.

It was great to see everyone, they do have lovely audiences at Hull.

HullPixelbot Fridge Magnets

I've spent a chunk of the weekend printing Hull Pixelbot fridge magnets. I just took the logo and fed it into Cura (the slicing program that I use for Una, my 3D printer) and after a bit of fiddling I managed to get a 3D object that works quite well.

Once printed I just have to rub a black marker pen over the 3D text to make the letters stand out. Although I wasn't as careful as I should have been, which has made them a bit smudged. Perhaps I can print a little mask to put over the text when I ink it.

Anyhoo, the magnets will be going on sale soon in aid of Comic Relief. I'm doing a lecture in rhyme again this year all about robots, accompanied by a bunch of dancing Hull Pixelbots.

Oh, and if you are in the university on Wednesday I'm also doing a Hull Pixelbot seminar thee too.

Wheely Nice Elastic Bands

Some people are seekers of the truth, others are on a quest for the meaning of life. Me, my focus has been a bit more down to earth. I want something that I can use for tyres (or tires) for the wheels on the Hull Pixelbot. And, at last, I may have found them.

I've been using skinny elastic bands for a while, but they tend to fall off the wheel really easily. Experiments with hot glue to hold the bands in place were not on the whole successful, in that I managed to stick pretty much everything to everything - fingers to desk, fingers to each other, fingers to wheel, fingers to elastic band etc etc, without actually achieving the holy grail of sticking elastic band to wheel.

My latest purchase, 50mm x 12mm elastic beauties from ebay, that stalwart Hull Pixelbot supplier, show promise though. If they are as hard to get off as they are to get on the wheel, I might actually be on to something here.

If it's broken, just throw it away

I'm doing some major upgrades of the HullPixelbot devices at the moment. They are all getting distance sensors, autonomous behaviours and over the air updates.

Most of which works.  Today I found that one of my distance sensors, and one of my Arduino Pro-Mini devices were faulty. They looked fine, but didn't work some of the time.

In the past I might have kept them, in the forlorn hope that perhaps one day I could fix them and save some money. These days I throw suspect parts as far away as I can. The reason is that, in our house at any rate, broken parts have a habit of finding their way back into the system, so that I have to rediscover that they are broken all over again, which is tiresome and time wasting.

In this case I'm down around two quid. That seems a fairly small price to pay for not having to spend half an hour trying to figure out why my code isn't working, when in fact the hardware is broken.

One reason for all this effort is that I'm giving a seminar at Hull University on the 1st of February all about the Hull Pixelbots. It's at 2:00 pm. I'm not sure where yet, but if you want to come along and find out how you can build a Pixelbot all of your own, then it would be great to see you.

I'll also be taking the new Pixelbots into the c4di hardware meetup tomorrow. You can sign up here.