We redesigned our robots from scratch from other years. This year we designed and modelled the robot in Fusion 360 and Eagle and then cut out the part/ordered circuit boards for the robots. Some key differences from the 2017 robots are:
Below is a video of the construction of our robots for the 2018 competition.
Our dribbler has some notable features, these include:
These all contributed to make a highly effective dribbler.
The damper is 100mm long and is filled with 1300cst silicon oil.
The pivot point is a shaft bolted onto the robot, and the mainframe goes onto the shaft on bearings.
The roller is an M6 steel rod with 2 aluminium spacers attacked with Loctite 680. Onto these was placed some silicon tube to add significantly more grip. It is worth mentioning that the spacers were shaped and placed in a way to allow it to touch the ball in 2 spots, adding extra grip.
A lower roller is used to reduce friction between the ball and ground. It was made of 6mm steel and mounted on bearings.
The solenoid is made of 4 layers of 18 AWG wire, around 50mm long.
The plunger is an M9.5 steel rod with an acetal resin head.
The kicker plate is made of 3mm aluminium plate stuck to 5mm acrylic.
There is a plate on the end of plunger which makes the kicker plate unable to turn and acts as a stop.
The plunger is tensioned by a rubber band.
The solenoid is power by a 50V 10,000µF capacitor @ 44V and is operated by a 30V 30A relay.
The kicker was designed in Fusion 360 and the parts were then cut out on a CNC mill or on a lathe.
We decided to use custom circuit boards rather than the DIY perf board. That we previously used, as the circuit boards allow us to fit more components into a smaller space. This meant that we could we could fit 5 motor drivers in an area of only 30 cm2. We designed the circuit boards in Autodesk eagle and its fusion 360 integration to improve our workflow.
We are using 12 custom circuit boards on our robots. 4 colour sensor boards, 5 motor capacitor boards, 1 button board, 1 main board and 1 kicker board.
The colour sensor boards contain a total of 7 tcs3200 sensor boards and 3 ultrasonic distance sensors, and acts as an interconnector for the colour sensors, ultrasonic distance sensors and Arduino Nano used processing data and communication.
The main board is used to do processing, voltage regulation, change direction and speed of the motors using PWM. The voltage spikes generated by the inductive load are evened out using a RC snubber and flyback diodes. The main board also has fuse sockets to protect against overcurrent. We have used 2 0.1-ohm resistors in series as current shunts to measure the current.
The kicker board has a capacitor and a voltage regulator. The voltage regulator raises the voltage to 40v which then charges the capacitor. The capacitor acts as a buffer and allows the solenoid to draw a very large current, that would be too large for the voltage regulator to handle by itself.
The motor capacitor boards are used to minimize the interference generated by the motors.
The button board has got 4 buttons, one switch bank and 10 10k resistors and is used to control various parts of the robot.
A laser ranger finder was added to the front of the robot to be able to see robots in front of it. The battery was changed to a 4S 1,600mAh Turnigy LiPo battery for our robots. There is 7 colour sensors and 3 ultrasonics in the robot. We are using different motor drivers and various other very minor components.
It was decided to write an all direction drive code (drive at any angle) we also added rotation. This was done by comparing the wheel angle and the target angle and get what ratio it is compared to how close it is to the target angle. The direction was then decided by what the wheel angle is relative to the target angle to move in the appropriate direction.
Rotation was accomplished by merging a rotate on the spot with a move in given to allow the robot to drive in the given direction and rotate at the same time. E.g. if you want it to rotate at 50% then the drive would be multiplied by 0.5 then added to rotate on the spot multiplied by 0.5.
Compass calibration is particularly important for accurate reading on a compass. It is common for a compass to only display 90° of the full reading which in that case is unusable. There are 2 types of interference hard and soft iron interface.
Hard Iron Calibration:
Soft Iron Calibration: