The finish line is in sight for the hardware now.
We have hopefully gone through the last major redesign (number 7!) for this year’s robot. The new design incorporates all the lessons from the test chassis and last year’s robot. All that remains is to settle on mounting holes in the lid for the Nerf gun.
Printing has started. Here’s the back controller module…
This allows us to select the game and provides start and stop buttons. The bottom line reports the battery voltage and goes red when the battery is getting close to minimum voltage. Connection to the Pi is via a USB port.
The face plate is also printed. Assembly of the front module, which contains a lot of components (3 time-of-flight sensors, 4 LEDs with their drivers and a micro controller) can start soon.
Last year we didn’t do very well in Pi Noon as we were knocked out in the second round. We decided to try to improve that this year.
To that end we have developed a “Pi Noon Simulator”. The cylinder at the top bends when pressed and makes a connection. This lights an LED via a pulse stretcher which counts as a “POP”.
We’ve got one unit mounted on last year’s PiDrogen and another mounted on our new mecanum test chassis. We can now have unlimited games of Pi Noon without going through a shed load of balloons.
This really is a lot of fun!
Since our last blog there’s been lots of progress.
We have drilled out the centres of the mecanum wheels and printed some new hubs. This allows the gap between the motor and the wheel rim to be reduced so that the robot remains within the maximum width specification. It also allows a common attachment method between the “balloon tyre” wheels and the mecanum wheels so that a wheel swap between games is viable.
We’ve all, but particularly chief driver Nathan, been driving the test chassis with the mecanum wheels installed. We’ve been trying to imagine that we are in a PiNoon battle. We try to always face the opposition then lunge at the appropriate moment. Quite honestly it’s tricky. Last year’s machine is easier to drive although it is not as versatile. This is going to need some practice.
There’s good news though. The 3D printed chassis is definitely robust enough. This leaves us free to go through (hopefully) one last design pass and then to print the final version.
We built some electronics. This is an Arduino Beetle driving four Pololu motor drivers (which are based on MAX14870 chips). The lower board (which you can’t really see) holds a couple of DC-DC converters which convert our 4S LiPo voltage down to a nice smooth 5.2v for the Pi and the other electronic bits. The Pi can talk to the motor driver board via the USB port and direct the speed and direction of the motors. Well it should do anyway.
Unfortunately it doesn’t work. The motor drivers (which are rated at 2.5A peak) report an error (which I think means “too much current”) so the motors just buzz rather than move. On paper this should all work; the motors have a stall current of 1.4A. But unless we limit the motor current to about 800mA the drivers refuse to play ball.
I’ve heard it said that you have to massively over-specify motor drivers. Now I see that’s true.
We are not amused. This is a setback.
Since our last blog post our test chassis has transitioned from the CAD world into the real world. This chassis incorporates loads of experimental features:
- It is all 3D printed. Last year’s robot (“P19”) was mainly laser cut acrylic which turns out to be quite brittle. So we’ll see if PLA can stand Nathan (who is an enthusiastic driver) at the helm any better than acrylic.
- The chassis uses four independent motor drivers so that we can use the big balloon tyres for the obstacle course and mecanum wheels for PiNoon. There might even be a third set of wheels that permit rapid and accurate skid-steer turns for the autonomous challenges.
- Actually the motor drivers are also experimental. At the moment P20 is equipped with (rather old fashioned) L298N drivers. But we are going to try some MosFET replacements soon which shouldn’t need such large heat sinks.
- We bought new motors. These are about 50% quicker than last year’s and they’re quieter too because there’s less gearbox.
- We’re also playing with a Teensy 4.0 to replace P19’s (much larger) Arduino Due peripheral controller. This provides a USB interface which the Pi will use to control the motors and to get measurements from three time-of-flight sensors. At the moment it is also interfacing to the radio receiver so that we can drive it around.
So the plan now is to drive it around a lot to see what breaks. And we need to print some hubs so that we can try out the mecanum wheels.
Finally it feels like we have some progress!
Mecanum wheels are tricky in Fusion360. Got there in the end though.
Version 2 of the barrel lifter has now been printed and tested. The (horribly vague) cable connection between the jaws and servo of the first attempt has been replaced by a bevel gear mounted on the servo output shaft. The drive also incorporates a 2:1 reduction so that a half turn of the servo output equates to a quarter turn on each jaw.
I’m delighted to say that it works a whole lot better than it’s predecessor.