My housemates and I have used MythTV for most of our TV access for somewhere around 2 years now. During that period of time, MythTV presented us with an extremely large number of failures. We used to experience a really horrible bug where the video would freeze (this correlated well with poor DVB signal strength), and so we configured “Ctrl-Alt-x” to kill the frontend process and start it again. This got used frequently. However, more recently we had an even more painful bug, where the frontend would always quit after playing less than a minute of video. This made it impossible to watch anything.
So, I sat down one evening a few weeks ago and bodged together “MythFace”, a MythTV client designed to do one thing: let you watch MythTV’s recordings.
As you can see, the interface is the pinnacle of usability and fits in well with many GNOME applications that have no configuration options. When you click “play”, the selected recording is played using mplayer. MythFace relies on the MythTV recordings directory being mounted at /mnt/video (we use an NFS export), and uses the GMyth library to grab the listings.
We’ve been using this interface since I wrote it and I don’t think we’ve had any issues with it. I think a major bonus of MythFace over MythTV is that it’s much faster to interact with due to the absence of a skinned interface.
Source is available on Gitorious:
git clone git://gitorious.org/mythface/mainline.git
I wanted to always be able to shell to a machine within the Uni network. The Uni network has a firewall that stops incoming requests to most machines. There’s a machine that all undergrads can shell to, which I normally use netcat combined with the ssh ProxyCommand setting. However, it’s a little silly to divert all traffic through another machine when I’m in the network. So, meet the new script I use in the ProxyCommand:
#!/bin/bash
HOST=$1
got=`ifconfig eth1 | egrep -o "inet addr:152.78.[0-9]{1,3}\\.[0-9]{1,3}”`
got+=`ifconfig eth0 | egrep -o “inet addr:152.78.[0-9]{1,3}\\.[0-9]{1,3}”`
if [[ "$got" == "" ]]
then
ssh uglogin.ecs.soton.ac.uk nc $HOST 22
else
nc $HOST 22
fi
Justyn alerted me to the existence of this LinuxDevices article about the Beagle Board. This platform looks like a good candidate for the robot controller for Student Robotics 2010! If it stays at $150 that is.
Project Formica is now over. We’ve given our final demonstration to our lecturer, and we’ve said goodbye to all of our robots. I think that this has been by far the best coursework that I’ve been involved in at Southampton. It’s a shame that it wasn’t the best coursework when measured marks-wise! I strongly recommend the “biologically-inspired robotics” module to anyone doing electronic engineering at Southampton University.
In the end we built 25 robots. These robots are designed to be very cheap. If you strip away our prototyping costs, then each of them cost just over £10. If you build 1000 of them, then the components only cost around £6.50. That’s quite cheap!


We got the 25 robots constructed in a 14 hour build-fest. We are indebted to Klaus-Peter, Tom, Tobias and Justyn for their help in this experience, and hopefully we’ll express our gratitude in some way soon! In 14 hours we managed to solder over 1500 components between us.
For our demo, we got the robots doing a random walk until they found food. Food in this case is a piece of cardboard with a cuboid piece of wood stuck in the middle. They’d then push the food towards light. When they’d reached the light (which they determine through light level), they’d reverse for a bit and then go about finding some more food. Every so often, they’d go and charge themselves from the charging station. Charging is just a case of driving straight into a charging bay — with their prongs and skis making the electrical connections to the power supply. They use their IR communications to talk to other robots and ascertain how much food is left around in the arena that isn’t near the light. The liklihood of going to charge is affected by this food level.
So, all that remains now of my degree is 2 exams and a 3-minute presentation. Pretty scary!
A couple of unedited videos of the Formica robots that Jeff, Steve, Alexis, Jo and I have been working on:
More on these soon!
I’d like to add to the options that Steve presents. Inkscape is an amazing free vector graphics editor, which as far as I am concerned is just as functional as Corel Draw. We can export our designs from Corel Draw into an SVG, and then we’ll be happy.
I just performed a preliminary test, and Corel Draw can indeed export our document into an SVG fine. I had the standard issue of getting a font installed on a Windows machine in labs, but other than that there were no problems.
[rob@zarniwoop ~]$ ssh button uptime 16:30:23 up 364 days, 23:33, 1 user, load average: 0.17, 0.07, 0.01 Killed by signal 1. [rob@zarniwoop ~]$
Phew! The last few weeks months have been jam-packed full of stuff. I’ve been up to my ears in various bits of coursework and Student Robotics. I haven’t ever really got around to blogging about Student Robotics before now (except for the hardware release, and even then I didn’t say much). So here’s my attempt at describing what it is and how it got there.
Steve, Howard and I started talking about Student Robotics in August 2006. We were students at Southampton University (Steve and I still are). It wasn’t called ‘Student Robotics’ then — it was ‘ECSSR’ (Electronics and Computer Science Society Robotics). We weren’t really sure what we were trying to do, but had a vague idea of what sort of things we wanted. Howard and I had been involved in FIRST competitions before (along with Jeff and Justyn), and so we had an idea of the sort of things that we wanted to do:
- Bring robotics to young people
- Do some robotics ourselves
- Make it cheap
- Make autonomous things (not remote controlled cars)
- Not be robot wars
As I said, Howard, Jeff, Justyn and I had all been to FIRST events before with Peter Symonds Sixth Form College. If you’re from the USA then it’s likely you’ll know what a FIRST event is like. If you’re from anywhere else, you’ve almost certainly never heard of it. FIRST is a robotics competition that’s mostly held in the USA. Teams of young people, mostly in the age range of 16-18, get six weeks to build a remote controlled robot that has to complete some sort of challenge. The challenge is usually something that has a big human involvement and is something that one could quite happily watch without getting too bored! The atmosphere at FIRST competitions is nuts. Everyone’s hyped up, everyone cheers everyone else on. Each team strives to have something unique that separates them from the rest — t-shirts, badges, vacuum-formed hats, cucumbers for fellow competitors, capes, necklaces, cheerleaders and a whole load of other things that are just too numerous and varied to list or remember.
So FIRST is great. However, it has its downsides. Last time I heard, the entrance fee for FIRST was $6000 per team. That’s a big barrier for teams of students. You’ve got to be really sure that you want to spend your time working on robotics to find that sort of money. I think most teams get theirs through sponsorship. Secondly, FIRST robots are remote controlled cars. Why not be entirely autonomous? We can have autonomy, after all, “Computing is cheap”TM. A robot that drives itself has got to be more interesting than one that is being driven by someone.
So, we started trying to get people together within the Uni who would be interested in helping us run a competition between local sixth form colleges. The competition would take place on campus in Easter 2008. This was all starting in October 2006. We knew that we needed a lot of time to prepare for this competition. We needed to get electronics together, program it, document it and most importantly make it all compatible with our local schools.
To be continued in episode 2…
I read the first half a page of A Mathematician’s Lament and knew that I wouldn’t be able to do anything else until I’d read the rest. Read it!
I spent today working on a bug in the driver for the TI UIF MSP430 programmer. It stopped initialising properly in 2.6.24, but it worked in 2.6.23. I did a git-bisect between those versions to find the commit that induced the fault. I narrowed the search a bit by telling git-bisect to work on commits only in drivers/usb/, as I hypothesized that the bug was induced somewhere in there.
About 10 builds and 20 reboots later, I found the commit in which the problem was happening, and then read some stuff about USB etc (the LWN device drivers book proved invaluable yet again) and subsequently generated a patch. I’ve sent it to (what I think are) the right places.
If you can’t wait for the next kernel release (if it passes review…), then you can rebuild the ti_usb_3410_5052 module by downloading this tarball, untarring it and then running “make” in the resulting directory, and then “make install” as root. You will need enough of your kernel’s sources hanging around to do this. In Fedora, these are provided in the kernel-devel package.
Update (5th April ‘08): The patch has made its way into Linus’s tree, so I think it’ll be in 2.6.25.
| Older Posts >> |
Site by Robert Spanton. ©2008

