Our Learning Experience

Piecing the parts together

Tank Chassis 

Due to insufficient equipment such as laser cutter and materials such as rubber threads and suitable metal platforms and sheets to cut gears out of, we bought a very basic DIY tank chassis set and built the main body of the chassis from components in the set using screws and nuts provided. The assembled robot tank has suspension which makes the tank chassis less susceptible to toppling and more suitable in manoeuvring through tough ground and rubbles suited for applications including surveillance in disaster relief scenarios.

3D printing

  • Transceiver holder 
  • Ethernet Switch Holder 
  • Insulation for Motor Controller 
  • Holder for raspberry pi 
  • Camera holder
  • Insulator for buck converter, PoE Adapter and USB Hub

 

Learning how to operate the tools (Hardware) 

Soldering

Soldering is an essential technique in putting the electronics and tank together. We had to unsolder and solder parts such as trimmers on our DC/DC Boost Converter and wires and connectors used to make our audio splitters. Our audio splitter is completed by connecting to two separate Flujo soundcards which will be connected to RPI for us to achieve stereo recording.

 

Soldering tools

How the connections between
Flujo soundcards, audio splitter and microphones look like
(before soldering)

 

Soldered audio splitter

 

Insulation of exposed wires and parts

We used two main methods (heat shrinking and using of hot glue from glue gun) to insulate our exposed wires to prevent the risk of short circuit and damage to the electrical components.

 

Heat shrink for insulation of wires

 

Hot glue gun for insulation

 

Refining our 3D prints

In an attempt to refine our 3D prints, we made use of deburring tools and wire cutter to remove supports and smoothen uneven surfaces of our 3D prints.  

Deburring tools

 

Wire cutters

 

Due to slight inaccuracies that occur during printing as the 3D printer is not fool-proof, we made use of drills (BOSCH GSR 1440-LI Professional) to create holes in our 3D prints so that we can insert our screws into the holes and screw the prints onto the robot platform without having to reprint the 3D print and waste unnecessary filaments.

 

BOSCH GSR 1440-LI Professional Driller

 

Connecting the electronics (Hardware) 

We chose to use Raspberry Pi (RPI) for our project and had to inevitably read up on its operating system (Linux) and the use of the different pins including the General-Purpose Input Output (GPIO) pins shown in the layout below. 

Raspberry Pi GPIO pins layout

 

To control our DC Motors, we bought and made use of an L298N Motor Controller where the labelled ENA/ENB and IN1/2/3/4 pins are used to control the speed and directions of the motors respectively. These pins are connected to the raspberry pi via colourful jumper wires. To avoid tangling our jumper wires when our turntable is rotating initially, we connected a male jumper wire to a female jumper wire and tape them together to extend the length of cable and not strain the wires. 

Jumper wires

 

We opt to power our RPI using a Power over Ethernet (PoE) switch with the use of an RJ 45 cable (LAN cable) that can be used to transmit electric power with data in a local area network.

We also had to make a similar cable ourselves for our slip ring using several RJ 45 shielded modular plugs, LAN cable crimping tools and a cable tester. It took a lot of patience and concentration to place the correct coloured wires into the correct positions and the plug is well crimped. Else, the entire RJ 45 cable will not work when even one wire is not connected. This led to us re-crimping the modular plugs for a few times before getting the cable done.

RJ 45 shielded modular plug

 

Crimping tool (Left) and cable tester (Right)

 

Converting voltages (Hardware) 

The input voltage from our battery is kept constant at around 12V. However, different electronics require different optimum voltages to work so we had to use a step-up boost converter to step up the voltage to 48V to power the ethernet switch and step-down converter to step down the voltage to 5V to power the servo motor. We mainly made use of a multimeter and a power supply to calibrate the boost converters.

 

Programming (Software)

Motor Controls 

We learnt how to create a webpage for our motor controls (and integrated it with our video and audio) using jQuery library (JavaScript file) alongside CSS and HTML.

 

Video, Audio and Servo motor coding

We mainly made use of Python codes and some software (ffmpeg) to live-stream our video and audio. We had to write our own codes and find ways to improve the media quality which were quite daunting. We also had to write codes for our servo motor and integrate it with the IMU and the extraction of values of signal strengths.


Screenshot of some of our codes