What we had learnt previously from the first two bots was to try and get the physical design of the robot completed as soon as possible. This would then allow for the code for the challenges to be built in the knowledge of the bot shape and size. Having the bot chassis created early allowed the code to be tested on a platform that was going to be very near what the finished bot was going to be like and therefore there would be less changes needed to the code when doing the final testing when the design was 100% finalised.

To this end we started by creating a list of the expected components we were going to need for the challenges and then building cardboard models of them to match the component sizes. Once we had those made we started to create a cardboard mock-up of the bot.

With the chassis shape and dimensions created we then took time to place all of the model components internally to ensure that they would all fit and to optimise the layout before thinking of building the actual one using 3mm High Impact Polystyrene(HIPS).

Doing this meant we could be confident that there wouldn’t be any issues when we built the chassis for real.

In terms of design we decided to keep our tried and tested three wheel configuration. We have found this to be a relatively simple and reliable design over the years. It certainly cut down on the complexity only having to worry about controlling two motors and that it would be able to easily turn just by creating a speed difference between the two wheels and having an omni wheel at the back. Although we did have to buy a new one of those after someone in the club dropped the one we had and it was never the same again afterwards.

To drive the motorised wheels the Pi 3 was connected via a USB to Serial adapter to our motor controller. This was reused from our previous bot as it had performed well and we already had the code to control the motors. The motor controller is a Pololu TReX Dual Motor Controller DMC01. This was chosen because it has multiple methods of control (RS-232, RC Servo Pulses, TTL), was fairly compact, could handle a supply voltage of 6V – 16V, cope with 13 amps per motor and there was good documentation for the commands required to control the attached motors.

The motor controller complemented the motors that we had also previously used well. The motors that we used were Pololu 37D 70:1 Metal Gearmotors. The motors are driving some RC rock crawler 9.5cm diameter wheels from my local hobby shop and the omni wheel was a Nexus Robot 100mm Double Plastic Omni Wheel with Bearing. The key design feature was that for the events that were manually controlled this wheel would be used at the back and for the autonomous events this would be replaced by a section that housed various sensors for those challenges and the robot run in reverse.