So, as we approach the deadline for blogging, having passed the deadline for code submission and nearing the competition date itself, it’s time for a lessons learnt. In no particular order:
It’s going to take longer than you thought it would, especially if you’ve never tackled this kind of thing before
If everything worked cleanly and there were no hiccups and everyone on the team was available all the time, had lots of knowledge, and was completely invested…. things would go a lot more smoothly. (Although it would probably be a less interesting journey).
Hardware is harder than software, especially if you’ve more software than hardware expertise on your team
An amount of this is obviously down to experience rather than inherent difficulty, but even so: it takes longer to solder, unsolder, resolder, test, unsolder again because you blew the component, try a new one, solder it again etc. than to change the equivalent lines of code. Also I can write lines of code on the train (which is where most of our software was written). I can’t pull out a soldering iron on the train, especially in the current climate.
Luckily, although we have no real electronics experience among us, one of our lads (M) is a very methodical and willing worker. You give him the specs and the write-up and he goes away and puts it together. (With blu-tack if necessary, as that’s his go-to tool for fixing things).
All that and the actual mechanics of running a robot on different surfaces with different kinds of skew and skid are challenging our limited engineering abilities.
You won’t get the enthusastic take-up you were hoping for
I was looking to run this as a focus activity for the Seniors at the club I help organise (that’s school years 9-11). In fact, only two were interested enough to commit to a session every week. There have been a couple more who’ve come on and off. Of those two, one (M) is more switched on to this kind of project while the other (A) is happy to come and help but isn’t so engaged. But they’ve both turned up, week-in, week-out and contributed where they could.
Luckily, among the other club leaders is Steve, an IT support guy with some development savvy, and Chus who’ll be designing the robot’s shell / appearance this afternoon with the boys at the Club.
Building from a kit was the right choice for us
We chose to build from the Ryanteck budget kit, which provides a simply plastic chassis with mounting holes, 2 x drive wheels + 1 drag wheel, 2 x motors, and the motor controller. You have to put it all together and solder a bit. It’s enough to get you going without your feeling you’ve completely cheated.
Always keep an eye on what the lads are soldering
This isn’t a Health & Safety warning: obviously we went through Soldering Safely for Dummies before I let them near the kit. I also got them to show me their abilities on some throwaway circuits. The problem was that they diligently soldered the 26-way header on the Ryanteck motor controller upside down! And, although I tried a few things, my solder-fu was completely unable to unsolder. (It’s more complicated because the pins are pass-through headers so you’re soldering at the base of pins which are an inch long). So I swallowed my pride and ordered another, this time paying up for the pre-soldered version. I hope to meet the Ryanteck guys there and thank them for the quick turnaround on that.
A side project may turn out to be more important than you thought
When I went through the must-have, could-have, might-have on the board at the beginning, we thought that using a handheld controller would be something we could consider later. But Steve picked it up and worked with one of our lads (A) and between them they’ve got it all working and now we can’t imagine controlling the robot without it. I’d been thinking of some kind of pygame-based mouse/cursor-key thing but the controller’s much better.
You need to get ahead of the game sooner
Because we wanted to run this as a club activity, we waited until the term started before launching it with the lads. Then, for practical reasons (eg PyConUK) we had to miss a couple of weekends so we only really got started in October. Then, all the leaders in question are full-time working men with other responsibilities on weekday evenings, so we ended up devoting one Friday evening session a week to the project, plus whatever time Steve & I could dodge in during the week to get the software working.
That’s not really been enough, and we’re suffering from that now: some of the challenges we won’t be able to do, and some we’ll have had to compromise on.
Blogging takes more effort than you thought
My plan was obviously to have a regular blog post with photos from the Friday night sessions. But putting an informative blog post together takes me longer than I’d remembered — and then there’s photos to find & upload. And all this in the midst of a particularly intense spell of other commitments at work and elsewhere.
Entering PiWars and struggling through the obstacles was the right thing to do
It looks like it’s been one long struggle. And it has — and it still is! I wasn’t sure, when I entered last August, whether this was the right thing for us to do, whether we hadn’t bitten off more than we could chew. As far as the competition element goes — I don’t care what happens. I can see from blogs and tweets that other people have got some stunning robots. We’ve barely got one that works. I know that there are people going who build these things to sell, or at least have a lot more experience building them than us.
But it’s been great for the club to have the Friday night sessions: it’s a new departure for us, since we usually run only on Saturdays. And those who’ve come have enjoyed it and have benefitted. I’ve had to learn a lot about various things, and the others have all picked up experience. We’re looking forward to being there next Saturday and putting the results of our work in the fray with everyone else’s.