Two days ago, I wrote a short blog post about a robotics project I am doing this summer with my boyfriend. This post outlines what we will be using to create the robot, and its specifications. The robot has no particular purpose at this very moment. Our target is to use this robot to get a better understanding of certain programming elements and to broaden our horizons by implementing other components, which we may use for Eurobot 2016. We’re hoping that, by completing this project, we should be able to get an optimised and accurate program, which we can use as the base for our competition robot.
The robot built for Eurobot 2015 used a lot of machinery; the chassis was cut using a laser cutter, out of plywood, mdf or acrylic, and other parts were also either laser cut or 3D printed. As we only have access to these equipment at university, the robot being constructed right now makes use of a very simple chassis which has been cut out of 3mm MDF using a hand saw. The various modules and components have been mounted to this base.
Micro-controller: Arduino UNO
Micro-computer: Raspberry Pi 2
Drive Kit: RD02 Drive Kit (with MD25 motor controller)
Wheels: Banebot Wheels 3-7/8″
Battery: 12v 2Ah Lead Acid
Ultrasonic Sensors: HC-SR04
LCD Display: HD4470 16×2 LCD Display
Chassis Material: 3mm MDF
The motors in the drive kit are controlled using a MD25 motor controller, which itself is controlled by the Arduino UNO. The motion of the motors is programmed via the Arduino, and data values are read by the encoder and when requested, sends the values to the Arduino via the MD25. The Arduino reads these values and determines what occurs next.
The Banebot wheels were chosen over the standard RD02 Kit wheels because they have shown to have more grip, which is advantageous on the competition boards.
We chose to use the HC-SR04 Ultrasonic Sensors, as these were the types we had used previously in our Semester 2 project, and, therefore, have some knowledge of how they work. These sensors work in the range that we want, with an acceptable accuracy, and are low cost. By using them, we can optimise the sensors even more than we had done previously, and program them to send more accurate data to the Arduino.
As we hadn’t used an LCD display with the Arduino or the Raspberry Pi before, we decided to purchase one from the well known website oomlout.co.uk. On the website, they had various data sheets to help with wiring and testing the LCD display and we figured this would prove to be very useful when implementing the LCD display in our robot.
As the robot is to be very simple, and relatively cheaply made, we decided to opt for either 3mm plywood or MDF, with the latter being the cheapest. It can be more difficult to work with and heavier than plywood, but should be able to withstand the weight of all the components.
- Compass module for rotation
- Collision Avoidance system using ultrasonic sensors
- LCD display to print values collected by sensors/compass
- Object tracking
- Video transmission using a webcam, via the RPi
Due to the LCD display needing data from the ultrasonic sensors (or the compass module), which are connected to the Arduino UNO, the LCD display will also be connected to this. Through testing the LCD display, we have found that it is easier to control and modify using the Arduino as opposed to the Raspberry Pi, which should make printing serial monitor values easier. The webcam is to be controlled using the RPi, which will wirelessly transmit the footage to a device. A software named Motion was used to test the webcam for video streaming and this was successful. We are now aiming to get the webcam to take snapshots at regular intervals, and to send these to a remote device, along with the video footage. We are also going to try to do direct online streaming so that the video can be accessed remotely via multiple devices.