Sunday, 3 March 2019

Protecting Earth - With Rubber Balls

A lot has happened in the last few weeks. Sputnik has a new paint job - all silver and sparkly, we've fitted the Pixy2 camera (and got it to work to some extent) and decided to finalise our solution to the Space Invader challenge.

When we applied for Pi Wars back last September, we had planned to use the balls to knock down the target. The idea was to build some kind of ball kicker powered by a solenoid or servo to propel the balls towards the target.

Then - when we went through a couple of iterations of motors, we thought we could use the spare motors to make a Nerf bullet launcher. We built a prototype with lego. Everyone stood back for the first lauch, only to see the bullet struggle through the lego barrel and drop to the floor. Looking at other posts the motors being used are running at something like 1800rpm - so our little micro motors were never going to make it. So that idea was shelved.

We then built a lego kicker - using a small servo motor. The prototype didn't quite have enough power to move the balls in a straight line.

At the time, we were still on the reserves list, so there wasn't a great worry. Then when we got the call to take part, we realised we were going to have to work out something - however primitive.

This is what we came up with:

Sputnik with ball launcher and laser sight

Tuesday, 12 February 2019

Apparently you can talk about robot club!

Had a good time at Brian Corteil's Robot Club at Cambridge Makespace on Saturday, testing out Sputnik and meeting some other Pi Wars contestants. It was great to try out the real straight line speed course. On the Friday night we only had one successful test run using boxes to simulate the sides of the track - all the other times the boxes went flying. But on the real thing it worked a treat. There were only a couple of times it turned left instead of right, but we think that was due to the course not being quite complete and joined together, so our sensors got a bit confused. Brian also gave us some good advice on how we could improve the code to keep our robot in the centre of the track. Our only regret is that we forgot to film it.

The other thing we learned is that the compass in the BBC micro:bit probably isn't reliable in the real world. In the Maze test, the robot turned a nice 90 degree turn on it's own - only for the compass code to try and adjust it by another 20 degrees or so, and pointing the wrong way.

Tuesday, 5 February 2019

micro:bit tells the Pi where to go ...

... but in a nice way.

Not long after applying for Pi Wars, we were thinking about the design of the robot - and one question was how to display visually which mode the robot is currently in. Also - it would be nice to have a physical button on the robot to change the mode - just in case the remote controller can't connect for some reason.

Initially the idea was to have a number of LEDs and a button connected to the Raspberry Pi GPIO pins. The LEDs would show the mode using a binary representation and the button would allow the mode to be changed. However one day I looked across at the Dimm robot from BinaryBots we had built but never quite got round to programming and the answer was there. The BBC micro:bit would be perfect for a simple display and input. And after a few months, we've finally put a lid on the robot and had somewhere to mount it (albeit with some velcro for now - whilst we finalise the position).


micro:bit centre stage on top of Sputnik

We're in ....

It's official - we've been called off the reserves bench to join the action and compete in Pi Wars 2019.

Now the pressure's on. No longer will the phrase 'Never mind - at least we're only a reserve!' be uttered in the Sputnik household. 

Not much notice for the competition - but we've been progressing well and at least we have a robot that is functional - and should be able to compete a fair few of the challenges as it stands. Two of us are off to Brian Corteil's Robot Club meetup at Cambridge Makerspace this Saturday to hopefully try out some of the challenges in a real environment. (One that doesn't involve cardboard boxes for obstacles.).

Things we've learned in the last couple of days:

- Being selected for Pi Wars with less than 2 months to go doesn't help you get a good night's sleep!


Sunday, 27 January 2019

New Year, New Look

So much for doing lots of robot building over Christmas - there was just too many other things to do. But now it's January and things are getting back to normal. After making lots of progress at the beginning of December in getting the robot talking to the Arduino and using it's sensors for a straight line test, we realised it was time to rework the chassis to get everything fitting the way we want it to. Part of this was to put another layer to hide the wires and mount the BBC micro:bit.

Here is the result:

Picture of Sputnik from side
Sputnik side view
Sputnik Top View

Sunday, 2 December 2018

How To Train Your Robot

Somehow we managed to miss a blog update in November - how time flies. 

November was all about software. The saws, screwdrivers, crimping tools and sellotape were put away, and out came the laptop. 

One of the aims of building this robot was for me to learn Python. After a couple of weeks, I was threatening to name this blog '10 things I hate about Python' but I persevered and am beginning to forgive it. 

I decided to keep it simple and implement a single, multi-threaded application, rather than trying to have multiple processes. I drew out a simple design - just to keep me on track using UMLet. This is the best free tool I've found for sketching out rough designs really quickly. This was just to give me a rough idea about the classes and what needs to know about what.. 


Initial Class Diagram

Monday, 29 October 2018

Tears, Cheers and Motor Gears



October has been a tough month for us. After rebuilding the robot in plywood (much easier to work with than acrylic) and putting in some motors with more torque, we were ready to test again.


The motors we tried were, again, micro metal motors from pimoroni - but 298:1 gear ratio instead of 50:1. It went forward - and backwards - but again, even with the extra torque refused to turn well. It was better - we could get it to turn if we put on some less grippy wheels - or were moving at the time. But not great. The large, soft, wide wheels we want to use (to give us some natural suspension over obstacles) just have too much grip.