Start From Scratch
So I was doing rather well on the algorithms. But then I wanted to check that all six legs worked well. Suddenly stuff started behaving strangely with motors and encoders not working. Probably some form of short circuit or something.
I have had a hunch for a while that my design contained two many onprotected open wires that could lead to any and all forms of strange behaviour and busted components. So I decided to give up on that design and rethink things from scratch.
Step 1 was to look at the driver component. Rather than build one large one for all the drivers controlled by one massive and expensive Due, I realize that the smaller microcontrollers are a lot cheaper. The Pi Pico is extremely cheap, and runs Python. So I have decided to give those a go.
Here we see a rather compact driver unit that can power two motors. It just has power input and a single communications input. SHould be a lot more robust and easy to debug.
With this type of design, I can also make the chassis a lot simpler and strurdier with milled / laser cut flat sheets.
Here is a quick sketch. I haven’t redone the legjoints, so they are just the old ones put in as placeholders. As you can see, the whole robot gets a much more centered look. Also I can place a LiPo battery right at the center to get minimal moment of inertia, which I think is a good thing.