The PCB was designed using Altium Protel. The project was split into two parts. The simulation of the electronic circuit was done using LTSpice.
4
.Abstract
This report is conceptual design of a maze solving robot. electrical and software. The code was written in C. The main idea behind this project was to learn about hardware/software co design by programming a micro controller.

A pickup coil is used to charge up this capacitor at an IPT (inductive power transfer) charging station. two magnetic field sensors and two motors. Low power consumption was one of the main aims since the beginning. a surface of black or white can be detected. The robot also includes as ISP (in system programming) port for easy reconfiguration.
5
. The robot must also be able to charge up its super capacitor by IPT (inductive power transfer) using a pickup coil. The maze will include barcodes placed before intersections to guide the robot towa rds the exit. It includes a super capacitor which provides the robot with a constant voltage of 5V. the robot must follow the track and act in accordance with with the barcodes laid out all over the map.0
Introduction
The basic idea behind the SB1818 was to build a line following robot capable of navigating a maze. The functionality of the robot is implemented in an Atmel ATMega8 microprocessor. The trail is a black line on a white surface. Using the sensors. an array of LEDs is used as sensors. In order to read the black line. The robot uses its magnetic field sensors to position itself close to the IPT charging station. pickup coil. super capacitor.1.0
Hardware
The robot consists of an Atmel ATmega8 chip. An ISP port along with a DonKEY is utilised to easily reprogram the microprocessor. It has five led sensors at the bottom of the chassis to detect the track. Talk about structure of report. Robust line following algorithms and a quality chassis build allows the robot to run in low light conditions and follow sharp corners. The robot is an autonomous line follower capable of reading barcodes and taking decisions. The frame of robot was built to be sturdy and light enough for the robot to navigate to the end.
2. Based on the amount of light a led receives.

The front skids also protect the LEDs from impact. This led to the decision of placing the IPT blackbox was placed over the motors. Five being emitting and five receiving. Skids were placed at the front and rear to prevent the robot from tilting in one way while in motion. This was done so that it¨s easier for the robot to get back on track after charging up as the track would be straight ahead.1
Chassis
For a stable robot. IPT sensors are placed on either side of the pickup coil so as to guide the robot such that it is perpendicular to the charging station. Velcro was placed beneath the skids so as to reduce friction with the surface. IPT pickup coil and the IPT sensors were placed at the rear so that the robot can back up into the charging station.2. The receiving led¨s are charged up to 5V and then allowed to discharge.
3.0
Sensors
There are a total of ten LEDs that form the sensor board for the robot. 6
. weight distribution was essential.

These values are saved to the EEPROM to be used as a reference.LEDs on the black line will have a longer discharge time whereas those on white will have a shorter discharge time. Calibration is therefore required such that the reference values are u pdated if the environment changes. The sensors are placed over the black and white surfaces during these stages.
3. and be used when the machine is running.1
Calibration
The discharge timings will vary according to the time of day and the amount of incident light. Based on which LEDs detects white or black.2
Runtime reading
During runtime. BIAS
3.
Front
FarLeft MidLeft Center MidRight FarRight
Emitter Receiver
90º left Follow line Scan barcode Follow line 90º right
Rear
Figure 1. the sensor reads the values and checks it against the reference. There are two stages for calibration. All the five LEDs are read at once and their state saved to be decoded later on. The weighted average value of white and black is then calculated. Sensor Top View
7
. one for black and one for white. the robot changes into the appropriate state.

Motor speed is controlled by a PWM signal from the micr o controller. Two control signals are used to control the direction of the motor. Since a high speed was not necessary. Changing the polarity of these control signals changes the direction of the motor. They are as follows:
8
.0
Algorithm
The software is parti tioned into multiple files based on fun ctionality. gear ratio C was chosen as adequate torque. Direction Forward Reverse Stop 0° Left 0° Right Gentle Left Gentle Right Sharp Left Sharp Right Direction Forward Reverse Stop Stop Right Motor Forward Reverse Stop Forward Reverse Forward £ slow Forward Brake Forward Positive terminal 0V Vss 0V Vss Left Motor Forward Reverse Stop Reverse Forward Forward Forward £ slow Forward Brake Negative terminal Vss 0V 0V Vss
5.4.0
Motor Control
4.1 DC motor
DC motors have the benefit of being easier to control and can run at a low voltage.

The car needs to stabilise quickly after a sharp turn to ensure that it is running straight before intercepting a barcode. The values of both these sensors are buffered so that it is easier to detect the end of the intersection. This is detected when r either Far eft or FarRight detects black. which is when both EDs detect white.
5.
The robot is made to move forward as straight as possible.
Forward
Crossing
10
. It switches to the Turn eft/TurnRight state when the Far eft/FarRight triggers.Follow Line
Turn Seek
Crossing
Turn Leave
Figure 2 Sequence of the states
5.
The robot is in the crossing state while passing ove an intersection. This state uses the MidRight and Mid eft EDs to slightly adjust the motion of the car whenever either ED is out of the track.

This barcode is saved in
11
.3
Turn Leave
As soon as the machine enters the turn eave state.
5. Turn eave state.6
Reading
The car reads the barcode in this state. ED sensor and the ED next to it on the turning
5. the mid ED and the ED next to mid ED are used
5. is recorded and accordingly the type of barcode is interpreted.At this point the robot selec one of the possible directions based on a previously read ts barcode. The only difference from the
The behaviour of the robot is identical from the Turn
t Turn eave is that Turn Seek state goes on until the robot detects the black. It then goes into the Turn leave state.5
Charging
Figure .The robot enters Turn Seek state when the middle direction) detect white. The amount of time spent reading the barcode. it starts to turn 90°.4
Turn Seek
eave. IPT Charging
5. Similar from he .

the line following algorithm is ignored and the car is made to run straight. The time for the barcode divided by the time for the gap would give us the length of the barcode. For this to work properly. The types of barcodes are as follows: Barcode Straight Charge Turn Left Turn Right Stop Dimension (cm) 1 2 3 4 6
A timer is started when the car reaches point A and it is stopped when point D is reached. To ensure that the car moves at a constant speed while reading and does not adjust itself. B. FACTOR
12
. the car has to be stable before reading the barcode or else it will go off track. 0.C)) / 2. C and D. The value of the timer is saved when the car reached point A. The time for the barcode is calculated as C £ B.5 is added to length of the barcode.memory and to be followed when the car reaches an intersection. To ensure proper rounding of values.A) £ (B . The time for the gap would be ((D .

8. Hence two new modes were added to specifically calculate theses references while the robot was placed on white and black respectively and saved to the EEPROM.0
Time structure
1. Week Week 10 Week 11 Week 12
Task 1 Task 2 Task 3
13
. Buffers were therefore implemented which helped alleviate the problem.0
Improvement
9. which lowered the overhead while the car was running. Most of the calculations were performed by the compiler. the entire library was rewritten using efficient coding practices.6.0 7. This was a problem espe cially when code was being written for reading the barcodes.0
y
Discussion Problems
To make it easier to write code for the complex sections. 3. Rewriting the library.
y
There was a considerable amount of noise picked up by the sensors when the car was in motion. 2. Writing the report. Coding the functionality of the robot.
y
Finding the reference points for the black and white surfaces was a bit of a hassle to do at start up. Preparing the cost sheet. 4.