Draw Me A Robot

I’ve led and demonstrated the Technocamps Robot Programming workshop several times now, and my favourite bit is always the same. It’s the bit where you ask the class to draw a robot.

It’s not a question people think about often, but when they do, they all get a very similar picture in mind.

The criteria Aberystwyth robotocists use for “is it a robot?” are

  1. It’s programmable
  2. It senses its environment
  3. It acts on its environment

Under those rules, many many things could be considered robotic, such as state-of-the-art, load managing washing machines. Today in the workshop we had a new one – a robotic toothbrush? Certainly, high end toothbrushes can be programmed to a certain regime, know if the brush head is wet or if pressure is applied and feedback to the user. So in a bizarre way, a toothbrush could be considered a robot.

Lightsabers aren’t robotic however.. some ipod models might be though.

Anyway, it’s always fun to see what the class comes up with, and often there’s plenty of chance to argue over the validitity of things.


Technocamps Beach Lab: I’m making a note, huge success

Saturday was an exhausting but extremely fulfilling day of sun, technology and inquisitive youth. Best of all, I got to wear my sexy and luminous Technocamps t-shirt.

Technocamps is an outreach project I’ve been involved with since December. Primarily we visit schools to run computer science workshops. Initially providing demonstrator support, I have started to lead workshops and was recently asked to create some small robots to demonstrate arduino technology.

 

 

 

 

 

 

 

Though workshops aren’t the only engagement. Today we had the Beach Lab, occupying the bandstand in Aberystwyth we had everything from chatbots to textile electronics to aerial photography; engaging with multiple groups from within the University.

 

 

 

 

 

 

 

I myself managed a couple of robots – photophobic and photophillic, using torches to manipulate them which kids really seemed to enjoy. Though worried this might not be entertaining enough, I provided an arduino and breadboard with a variety of sensors and a multimeter for more curious minds.

 

 

I found the enthusiasm from the children extremely encouraging and not only was interacting with them fulfilling, but I am confident that the next generation will be filled with some excellent computer scientists.

This has been one of my favourite engagements with Technocamps so far; I can’t wait for the next one.

I’ve got more photos on facebook, here.

Another Great Show and Tell!

 

BCS Mid-Wales Show and Tell

After an exceedingly successful Show and Tell in March we held another yesterday, Friday 11th March. Once again there was a great range of fantastic contributions and significantly increased food and drink.

The prize this time was a great Arduino Lilypad prototyping kit and was won by Mathew Keegan who delivered an absolutely brilliant presentation on Turing tests for school children.

Once again there were lots of robots and miscellaneous arduino projects and one of the elusive Raspberry Pis!

Show and Tell AberystwythI violated the tech-related rule and brought along some special hot sauces for people try:

Though I also compared a couple of robots I’ve built, and a foetal ultrasound sensor I’m toying with:

These events are always extremely enthusing and reveal some of the great work people are quietly tinkering away on that would normally be completely unseen. Hopefully we’ll be doing another one at the start of the next academic year.

BCS Mid-Wales Show and TellThere are more pictures and links to videos here: http://users.aber.ac.uk/jjr6/show-and-tell/2012-05-11

 

Recent Goings On

It’s been a busy month, I’ve spent a week in Cardiff and Spain each, held another Show and Tell event, built some robots and led my first Technocamps workshop. For now I’ll focus on my recent PhD work.

As previously mentioned, the formal cheque giving for my PhD funding was performed a couple of weeks ago.

 

The RIVIC graduate school in Cardiff was an interesting event with a wide variety of short presentations for vision and visualisation researchers from Aberystwyth, Cardiff, Swansea and Bangor. There seems to be a lot of research into sports based visualisation though there was plenty of medically related work to keep me interested and many of these projects could have a vast array of applications. I presented a talk on recent investigation into approaches for ultrasound denoising.

It’s been a while since I was in the city, so Cardiff was a nice change, and I got to see some fire trucks:

More recently, I visited Girona in the week just gone to meet with collaborators at the university there. Although currently no one there is currently working on prostate data, they have a signficant amount of registration related research which has given me a lot to think about. I would like to achieve 2D US to 3D MRI volumes though there are various issues such as out of plane registration to work around. Fortunately they have experience in the area and I look forward to going back for a longer period.

I also got to play with an NDI Aurora device – an EM based tracking tool that, if synced with video sequences could be used to construct 3D models with 2D imaging. I’m a little concerned about the viability of this but it might make an interesting project if we can obtain an ultrasound machine for non-clinical experimentation with prostate phantoms (below). I believe a Cambridge research group has already had some success with this method.

Since I arrived late Saturday, there was plenty of opportunity for touristy things too!

alt42

The old town is an amazing place and I thoroughly enjoyed it. My favourite part of the city was a small ice cream shop off the canal that served the most amazing home made violeta flavour.

There are plenty more pictures from my trip on facebook, so getting back to my research, I’m also pleased that the aforementioned work on ultrasound denoising has been accepted as a poster for MIUA 2012. This is my first ever submission so it’s a pretty good feeling.

SRAD

Example of one popular means of US denoising.

Back in February, I won the “£100 for 100 words” competition run by the commercialisation and consultancy department for my idea of a novel application of augmented reality for the tourism industry.

Technocamps is a European project I’ve been involved with in my spare time since December. Most recently I led a workshop to a group of secondary school pupils on robot programming. It’s great fun, especially when the students leave with a sense of accomplishment and an interest in carrying on the work at home.

One aspect of the workshop is "draw me a robot".

Also, thanks to the success of the first Show and Tell in March, BCS Mid-Wales held a second one, with a bigger budget and better prize. Hopefully this is just a small step towards something that will grow into something special.

 

Hoover Grant

My project, funded by the Prostate Cancer Charity was recently selected for sponsorship by the Hoover Foundation. This is great news and increases the money available for the Prostate Cancer Charity to spend on research.

Two weeks ago I met with representatives from the Hoover Foundation and the Prostate Cancer Charity to present an overview of the project and my work so far. I got to see one of those giant cheques and it the prize giving was covered by the local newspaper, student newspaper and the University, as well as my department.

Arduino Robot Project Finished!

Although I’ve played with other people’s arduinos before, I’ve never been much of a hardware person. But arduino seems prevalent in computer science teaching and outreach, so I decided to increase my familiarity so that I could find a way to introduce programming to my little brother. After a few months of forgetting about it, and a couple of productive days, it turned out to be quite easy to put together:

The sonars were giving me some trouble, but that seems to be solved now.

It has 4 sonar sensors, bluetooth, 16×2 LCD, 2W and solar power for the arduino. I say it’s finished – but that’s really only the hardware side. My next step is to do some development for android in order to create a bigtrak style interface to control the robot – but with the ability to create functions and more sophisticated flow control.

My playing with arudino isn’t over yet though. I’d also like to make a sleeker robot based on a remote control car, for racing. And I’ve just soldered together a USB host shield; there are some interesting security related applications for that.

Of course, with the Raspberry Pi on the verge of being tangible, that’s the device I’m really looking forward to hacking about with (one day..).

All in all, arduino is cool.

BCS Mid-Wales Show and Tell

A long long time ago I attended a dorkbot meeting in Bristol. I thought it was fantastic – there was beer, technology and intelligent discussion. Seeking to recreate that atmosphere, on Wednesday with the support of BCS Mid-Wales we held a ‘Show and Tell’ event at Aberystwyth University.

The turnout was fantastic, 55 people signed in and a few more wandered in and out during the event. Everyone was welcome – we were set up in a route of travel, though the crowd was primarily Computer Science students, we had IMAPS students (one who won the arduino!) and a couple of IBERS and IGES students. Lots of beer and pizza was consumed, but most importantly, there was plenty of interesting presentations and cool projects on show. A handful of robots, plenty of arduino, nifty software and fantastic ideas.

There are videos available here and some photos here and here. Hopefully over the next few days I’ll add the videos to youtube, and consolidate photos on the original website.

It was energising to learn about the projects people have going on that they don’t normally have an excuse to share. I’m really pleased that the event was successful, and hope to do it again soon.

Support Package for Matlab/Arduino Interface

So today I discovered the MATLAB support package for Arduino. It’s just some serial communication with a small server program for the arduino – nothing you can’t do easily with Serial.IO.Ports (or in Linux, simply write to the approprate terminal device – more detail here).

The interface is pretty simple, here’s part of their sample:

I’m a fan of ambient effects – enhancing user experience by moving beyond the usual display. I have an amBX kit which I’ve used for atmospheric lighting and mail alerts. I have been meaning to expand the ambient lighting of my system but I’ll be moving to a DIY arduino based system since I’d rather not invest in kit with a dubious future (the reason I got ambx in the first place was because it was cheap ‘cos no one was interested!). So my first thought was being able to have quick and dirty ambient notification of Matlab script status.

However, I think any half-serious programmer would choose to communicate between Matlab/Arduino with system calls or MEX code. The package is from the Classroom Resources Team, so I imagine it’s aimed at young students who may find it useful for quick, easy real-time interaction with their arduino.

I did a quick search for any projects using Matlab/Arduino, but didn’t find anything particularly special. Perhaps it’s a nice lightweight way for data acquisition as well. I just love how big Matlab is – the various teams that contribute it and the size and scope of the community.

Computing in Schools

The Royal Society published a much anticipated article last week on computing in schools. Shut down or restart? is a much needed analysis of the state of affairs for UK students. Personally, I’ve always felt let down by the computing education I received so I’m very glad to see this.

I appreciated Paul Nurse’s foreward to the report, mentioning that “certain way of thinking” computer scientists have that I see many young undergraduates struggle with significantly.

A prominent point from the report is “computer science as a rigorous academic discipline”. It seems to me that students are often only exposed to “computing” in a cursory approximation of digital literacy. So much time is wasted in boring lessons rehashing skills that are innate to modern students. Why?! If computer science was taken seriously in schools we could spark so many more potential programmers; increase the quality of futher education applicants and increase the product of computing education as a whole. Imagine if every first-year university students understood how their CPU worked, the difference between operating systems and flow control. They can do trigonometry, describe the phospholipid bilayer and explain fission – so why should computer science be any less important in this day and age.

The main negative points seem to be that curricula are open to broad interpretation, teacher ability is limited and undeveloped, and school infrastructure inhibits teaching. The scope of computing is also not well understood; particularly the academic discipline of computer science. Students should have a much broader selection of computing degrees available to them.

I’m particularly glad that the value of A-level computing is pointed out. Few higher education institutes require it. I took it because I wanted to study computer science and though it would be extremely valuable, but I regret it and wish I had chosen a different subject and done something worthwhile with my time.

Anyway, the report is substantial and I can’t claim to have read it all yet, but here are a few nice quotes:

The term ‘ICT’ should no longer be used as it has attracted too many negative connotations.

Computer Science is a rigorous academic discipline and needs to be recognised as such in schools

..the long-term aim should be to move to a situation where there are sufficient specialist teachers to enable all young people to study Information Technology and Computer Science..

Information Technology and Computer Science are distinct subjects, with different purposes, although they have areas of synergy. Computer Science is an academic discipline, in the same way that mathematics and physics are.

Computer Science is sufficiently important and foundational that it should be recognised as a high status subject in schools, like mathematics, physics or history.

..it is important that teachers have access to good quality CPD, particularly given the lack of specialists. This will be essential to support a new curriculum in schools.

I’m really excited about where this report could take us over the next few years. I’m also really excited because I just sent my little brother a Big Trak as an introduction to programming, hopefully soon he can have something Turing complete.

Related to this report, BCS Mid-Wales and Technocamps (both of which I am associated with) are holding a panel event titled “From Digital Literacy to Computing in Schools” on the 24th at Aberystwyth University, details and sign up here: http://technocampsbcsjan24.eventbrite.co.uk/?ebtv=C

Speaking of Technocamps, I helped out at a workshop in Aberystwyth towards the end of December, looking forward to a few more in 2012!

JY-MCU Arduino Uno and TM1638 display

I got some new goodies from JY-MCU Co in China today. Open-source hardware is great – the JY-MCU Uno is almost half the price of the original, which will work nicely with another side-project that involves circuitsathome’s USB host shield. Looks pretty much the same to me, soldering seems quality and it ran demo code fine.

They also have Mega1280 and Mini variants – so they’ll probably be my primary Arduino source. Though I don’t think all of their kit is lower priced, the ethernet shield for instance, seems about the same as any other.

I hope Raspberry Pi go a similar way with regards to open hardware designs. From my understanding, it’s been a thought for the Raspberry Pi Foundation, though there are various issues primarily concerning the GPU. But being able to go through different manufacturers for the same bit of kit seems a great way to encourage propagation and improvement. Either way, I’m sure we’ll be seeing that sort of thing soon. Incidentally, look how close we are to getting a Raspberry Pi, can’t wait!

Another toy I got was JY-MCU’s seven-segment/LED display module. A eelatively large board with 8 push-buttons, 8 LEDs and 8 seven-segment displays. This thing surprised me with a model number printed on it: JY-LKM1638. A nifty library is available here. Will make a nice general purpose numeric/status display.

I’ve gathered up a fair collection of components over the past few months. On my shopping list still is a GPS module, accelerometer and some enviromental sensors (gas, temperature, etc). I don’t have any real goals in mind, I’d just like to be able to build up/down some automated roamers with different purposes (monitoring/investigation, racing, tracking). Unfortunately, almost all of my kit including my robot chassis is back home, so there’s little I can do with it here in Aberystwyth. Though this is probably a good thing since I have lots of real work to do.