0% found this document useful (0 votes)
52 views6 pages

Term Project Report Final

The document provides details for the final project of an autonomous car. Students must use a motor controller, joystick, LEDs, WiFi module, light dependent resistors, potentiometer, push button, and ultrasonic sensor. The car must operate in both manual and autonomous modes, avoiding obstacles. In manual mode the joystick controls movement and in autonomous mode the car follows lights, avoiding obstacles. A road demo and race are described for bonus points based on performance. A report is required documenting the design.

Uploaded by

Berkay Özerbay
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
52 views6 pages

Term Project Report Final

The document provides details for the final project of an autonomous car. Students must use a motor controller, joystick, LEDs, WiFi module, light dependent resistors, potentiometer, push button, and ultrasonic sensor. The car must operate in both manual and autonomous modes, avoiding obstacles. In manual mode the joystick controls movement and in autonomous mode the car follows lights, avoiding obstacles. A road demo and race are described for bonus points based on performance. A report is required documenting the design.

Uploaded by

Berkay Özerbay
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 6

CMPE 443 PRINCIPLES OF EMBEDDED SYSTEMS DESIGN

Final Project

“Autonomous Car”

1) Problem Description

Recall that in the Interim submission, you had already used 1 Motor Controller, Joystick and
4 LEDs. In this last phase of the Final project, you will continue using them. In addition, you will
also use ESP8266 WiFi module, 2 LDRs, 1 Trimpot, 1 Push Button and 1 Ultrasonic Sensor to
the car.

This phase will differ from the Interim submission as follows:


● Previously you used parameter for changing the speed of the car, but in this phase the
speed of the robot will be determined by the Trimpot which is located on the Experiment
Base Board:

According to Trimpot resistance value, your speed will change in [0 - 100] duty cycle range.

● For the ultrasonic sensor case, the robot should not hit any obstacle while going forwards.
Therefore, you should check the distance value and if you detect an obstacle which 15 cm
away, the robot should go backwards until it detect obstacle which is more than 30 cm
away. This value should be in your ​Parameter.h​ file (​OBSTACLE_DISTANCE​ and
OBSTACLE_ESCAPE_DISTANCE​).

● The robot will have two modes which are ​autonomous ​and ​manual ​mode. The switch
between autonomous and manual mode will be done via (​WiFi ​or ​UART)​ and ​Push
Button​. You can implement either ​WiFi ​or ​UART​. In other words, if you implement
WiFi, you do not need to implement UART and if you implement UART, you do not
need to implement WiFi).
The character for the switching to manual mode will be ‘*’ and for autonomous mode ‘#’.
These characters will be send by the user. Whenever the robot changes the mode, the
robot should send ​‘MANUEL’ ​or ​‘AUTO’ ​via ​UART ​or ​WiFi​.
For Wifi case: WiFi SSID = ​HWLAB ​ and Password = ​12345678
The data will be available at:
http://192.168.0.100:8080/HWLAB_IoT/GetInformation?ID=​ (If your group ID is 1 the
url will be ​http://192.168.0.100:8080/HWLAB_IoT/GetInformation?ID=​1)
The data will be send to:
http://192.168.0.100:8080/HWLAB_IoT/SendInformation?ID=​.&DATA= (If your group
ID is 1 and the data ​‘MANUEL’ ​the url will be
http://192.168.0.100:8080/HWLAB_IoT/SendInformation?ID=​1&DATA=MANUEL)

The start mode for the robot can be changable, in ​Parameter.h​ file you will add a parameter
for starting mode (​START_MODE​)

In the manual mode (40 / 100 points),

➢ The robot will be at the stop phase when robot enters manual mode.
➢ When Joystick Left button is pressed, your robot should start to rotate counter-clockwise
direction (Point Turn is not necessary).
➢ When Joystick Up button is pressed, your robot should start to travel in forward direction.
➢ When Joystick Down button is pressed, your robot should start to travel in backward
direction.
➢ When Joystick Center button is pressed, your robot should stop.
➢ When Joystick Right button is pressed, your robot should rotate clockwise direction
(Point Turn is not necessary).
➢ While robot is going in forward direction, if Ultrasonic sensor detects an obstacle which
is 15 cm away from the robot, robot should drive in backward direction until ultrasonic
sensor reads at least 30 cm. Then, drive in forward direction.
➢ The robot speed can be changable via Trimpot.
➢ While robot is going in forward direction, if robot detects an light source from the left or
right side, the robot should escape from the light source. If light source is in the left side,
robot should go to the right side and if light source is in the right side, robot should go to
the left side.

In the autonomous mode (40 / 100 points),

➢ The robot will be at the stop phase when you enter autonomous mode.
➢ The autonomous execution will start with two different way: When you press the push
button which is on the QuickStart Board or when you send ​‘66’ ​via UART or WiFi, your
robot will execute the order and start moving according to LDR sensor values.
➢ The robot speed can be changable via Trimpot.
➢ While robot is going in forward direction, if Ultrasonic sensor detects an obstacle which
is 15 cm away from the robot, robot should drive in backward direction until ultrasonic
sensor reads at least 30 cm. Then, drive in forward direction.
➢ The robot should go along the road.

Your robot car has 4 LEDs which are located to the Front-Left, Front-Right, Back-Left and
Back-Right The state of the LED is changed according the action which robot performs:

➢ When robot stops, all the LEDs should be turned off.


➢ When robot drives in forward direction, Front-Left and Front-Right LEDs should be
turned on and the other LEDs should be turned off.
➢ When robot drives in backward direction, Back-Left and Back-Right LEDs should be
turned on and the other LEDs should be turned off.
➢ When robot drives counter-clockwise direction, Front-Left and Back-Left LEDs should
blink (2 times in a second) and the other LEDs should be turned off.
➢ When robot drives clockwise direction, Front-Right and Back-Right LEDs should blink
(2 times in a second) and the other LEDs should be turned off.

2) Road Demo

In order to enter the road demo (20 / 100 points), you should complete manual mode and
implement autonomous mode. In the race, we will put two LED strips on the left and right of the
robot.
The robot should follow the road and always be at the center of the road. Also, there can be
more than one robot on the road. Therefore, the robot should not hit the car which is in front of
the car.

3) Race

In order to enter the race, you should complete the road demo.

The bonus points will be given according to code and race performance (these bonuses will
be added to total grade of the course):
1 2 3 4

WiFi Half Letter 7.5 5 2.5


Grade

UART 5 3.5 2.0

Basic 2 1.5 1

4) Group Report

Your report has to be genuine. It should include all necessary details such as Block
Diagram(s), System-Level Functional Diagram, Sequence Diagram(s), Connection Table(s) and
Circuit Schematic(s), Expense List. In addition, you should write the pseudocodes for each
function in your code.

Some Important Notes

● The total cost of the components that you buy for this experiment should not exceed the
100 TL. If the total cost exceeds this budget, your group will not be eligible for the bonus
scenario. In addition, we will reduce points. The amount of reduction will be proportional
to the excess amount.
● For this phase, we allow groups to bring their own batteries. In the lab, we use Samsung
ICR18650-26JM. Therefore if you bring your battery for the demo, this battery should be
an 18650 type battery and the max allowable capacity for this battery is 2600mAh.
(Warning: Some of the Chinese batteries even if they say they have 6800mAh capacity,
the actual capacity of these batteries is around 250mAh). The given batteries for the
demo section will have at least 3.8V and while the demo section, we will not change your
batteries. In other words, your code quality will determine the durability of your car in
the race.

You might also like