Pi Wars week -31: Taking Stock

stock That's definitely a big pile of parts

So... it's Pi Wars time again. I'm entering as an individual. What have I got so far?

Basal platen, in safety orange. This is going to be a test bed for the mechanics of the robot, and I'm expecting my final design to have a similar flat chassis, potentially 3mm plywood, for strength and easy maintainability. Having a proper shell was always an ambition of mine but isn't the way we went in the last couple of years with the performance-focused Tito. Body-on-chassis design should hopefully make it practical to remove the shell easily to work on the internals while letting me 3d print a cool body... I'm not spoiling what it's going to be, but it's considered a classic of motoring :)

Motors, specifically 500RPM geared 12V motors. Tito, famed for its speed, used 1000RPM motors so I've gone a notch slower to try and keep my bot slower and more controllable but still nippy.

Motor controllers. These are simple H-bridges, controlled by a couple of GPIO pins on the Pi, not the R/C style motor controllers we've had problems with in the past. These just have a new and entirely different set of problems.

esc

These things behaving inconsistently, changing their behaviour with the phase of the moon and eventually burning out completely were the bane of team Hitchin Hackspace a couple of years ago.

5-spoke Racing wheels in Ferrari yellow.

Raspberry Pi 3B+, camera, breadboard and breakout board. This last part is also for the development stage - ribbon cables have been something of a curse for us in previous years, not to mention being messy and bulky, so I'll be aiming to make a more compact, hardwired solution once I have the final idea of which connectors are needed.

LiPo batteries - 2S and 3S (7.4V and 11.1V), big and small, mostly having fallen out of the sky a fair few times in my R/C flying days. For the final bot I'm likely to use a smaller 3S battery for low weight and the proper voltage for the motors.

Sixaxis PS4 controller. The pain of trying to pair Wii controllers in a crowded building full of bluetooth chatter is a lesson learned from previous years. This controller is remembered by the Pi and re-pairs the moment you turn it on.

Giant selection boxes of parts. Not pictured: selected nuts/bolts/washers from M2 to M8, crimp terminals for building a wiring loom, and lots and lots of heat shrink tubing. I'd like to not have to use a single piece of electrical tape in this entire build. Hot glue is still a distinct possibility.

"Pit crew" electric screwdriver. The saviour of precious moments in the work room, when trying to remove wheels from the bot and attach accessory mounts with tiny cap head bolts in the few minutes between challenges.

CAD models for the shell. Again, no spoilers for the design, but I've constructed a panelised model of it broken down into parts small enough to (hopefully!) fit onto the 200x200 bed of my 3d printer.

car model Not my model, but kind of how mine looks. Low-poly is back in fashion

Code!

As a returning PiWarsian, there's a whole Github repository full of code for driving these motor controllers, showing a menu and negotiating the autonomous challenges (which was the bit I wrote). I'm trying not to just copy it wholesale, and the fact that most of the autonomous challenges are new for this year limits the possibility of reusing much of our old code.

I'm a firm believer in making utility programs to help quickly iterate on bits of an autonomous challenge, rather than trying to write the whole thing in a single attempt and gradually tune it better in place (see my white balance and HSV limit tweaker from 2019) so once I have a driving chassis and enough code to be able to drive it using the PS4 controller, those will be the first order of business to help teach it to recognise a red barrel and a maze wall.

So... see you when it's driving!

- PKM