The aim of this project is to control an autonomous RC (Remote Control) car using GPS systems. The challenge of this project is to use the RC car and control it autonomously.
An autonomous car is a self-driving car capable of sensing the world with different techniques plus navigating to a destination without involving human although human may set destination. In smaller scale like this project RC car can be used.
This RC car gets destination coordinate from a user, identify its current position, after calculating which path and direction should be taken navigates itself from the source to destination in an open environment.
while it’s possible to face obstacles it is capable of detecting them, change its current path to a new one and continues its way until destination has been reached.
CCS355 Neural Network & Deep Learning Unit II Notes with Question bank .pdf
Autonomous RC car using gps
1. Autonomous RC Car
Using GPS
Members:
Gholamhosseinpour, Ali
Nouripayam, Masoud
Arutshyan , Nonna
Enohnyaket, John Ako
Hosseini, Seyed Alireza
June 1st 2012
1
2. Table of Content
- Introduction
- Project components
- Schematic and PCB design
- Main Program Algorithm
- Test & result
- Conclusion
2
3. Introduction
The aim of this project is to control an autonomous RC (Remote Control) car
using GPS systems. The challenge of this project is to use the RC car and
control it autonomously.
An autonomous car is a self-driving car capable of sensing the world with
different techniques plus navigating to a destination without involving human
although human may set destination. In smaller scale like this project RC car
can be used.
This RC car gets destination coordinate from a user, identify its current
position, after calculating which path and direction should be taken navigates
itself from the source to destination in an open environment.
while it’s possible to face obstacles it is capable of detecting them, change its
current path to a new one and continues its way until destination has been
reached.
3
4. Introduction
In order for a RC car to meet defined objectives, different components and
modules must be interconnected and cooperate with each other which will be
explained in the following parts.
- The Atmega 1281 microcontroller was chosen because it is cheap and
also has the capabilities to process multiple data which is suitable for this
purpose and its flexibilities to be adopted in wide range of applications.
- For sensing the environment ultrasonic sensor was chosen which can
detect obstacles within 5.5 meters range
- For navigation part a Magnetometer used to define the car direction while
a GPS showing car positions with the capability of sending data every one
second.
4
7. RC car with 2 DC motors
Microcontrollers:
AVR Atmega1281, AT tiny 2313
- Front dc motor used for turning the car, controls front wheels
- Back dc motor used for moving car, controls back wheels
- PWM (Pulse Width Modulation) is used to control motor
- PWM signal with fixed frequency in 200H and variable of duty
cycle of 60-100%
- Atmega1281 used for main program and it runs all necessary drivers
- Attiny2313 runs driver for GPS and sends coordinates out by UART
7
Project Components
8. RS232 interface converter:
MAX232CPE
- converts signals from an RS-232 serial port to
signals suitable for use in digital logic circuits
- Provides 6 tags of different information
- Coordinates provided in MinDec format
- Driver extracts coordinates and heading from
$GPGGA and $GPVTG tags respectively
GPS:
Holux GR-213
8
Project Components
9. UltraSonic Sensor Module:
SRF08
- 3-axis magnetometer and a 3-axis accelerometer
- produces a result of 0-3599 representing 0-359.9 in
degrees
- Works with I2C
- Keeps information in degrees in registers 0x02 and 0x03
- Physically able to see obstacle up to 6 metre
- Returns distance from obstacle in cm
- Returns 0, if there is no obstacle
- Works with I2C
- Keeps distance value in registers 0x02 and 0x03
- Was used 2 sonars, one for checking in front of the char,
other for sides
Tilt Compensated Compass Module:
CMPS10
9
Project Components
10. LCD Display Module HD44780 Controller
16 key matrix keypad
- 16x2 LCD display
- Shows 8 character per line
- Driver gives possibility to write single char,
string and integer on LCD
10
Project Components
11. Futaba S3003 Servo motor
- Used for fixing sonar in different direction
for checking sides of car
- PWM (Pulse Width Modulation) is used to
control motor
11
Project Components
25. Main Program Algorithm
Two major modules of main program:
- Positioning module
- Obstacle Detection / Driving module
25
Program Algorithms
26. Positioning Module algorithm
Major points of positioning module:
- Inputing the Destination coordination
- Getting Source coordination by GPS
- Returning Distance to destination
- Retuning Direction and angle
26
Program Algorithms
28. Obstacle Detection and Driving module
Major points in this module:
- Outputs of positioning module as inputs in this module:
- Distance
- Angle (Direction)
- Defining the car speed with respect to each specific situation
- Information from ultrasonic sensors:
- Detecting the obstacle
- Distance to obstacle
28
Program Algorithms
29. Possible situations and actions for obstacle
avoidance
There are three different situations and respectively three
different actions to be taken in order to avoid obstacles:
- (A) No detected obstacle by front sensor
- (B) Car in 200 to 600 cm distance to detected obstacle
- (C) Car in less than 200 cm distance to detected obstacle
29
Program Algorithms
30. (A) No detected obstacle by front sensor
Moving car with:
- Destination angle as Direction angle
- Previous specified speed
30
Program Algorithms
31. (B) Car in 200-600 cm
distance
to detected obstacle
Moving car with:
- Reducing speed by 10%
- Checking the ‘Destination angle’
- Turning to left/right or taking the
‘Destination Angle’ as ‘Direction
Angle’
31
Program Algorithms
32. - Stopping the car
- Turn the servo-mounted ultrasonic sensor
with respect to ‘Destination Angle’
- Take the free way as ‘Direction Angle’
- Move the car by 10% speed reduction from
maximum speed of the car
(C) Car in 200 cm distance
to detected obstacle
32
Program Algorithms
33. Car routing loop
- Going in a loop to positioning
module again after each
‘Obstacle detection / Driving’
instance
- Checking the loop to see
whether the destination has
been reached
33
Program Algorithms
35. Test and results
The system and its functionality has been tested in these areas:
- Sub systems electrical and logical test
- Compatibility issue test for the whole system
And the following issues came into existence as being challenging or
problematic in the car efficiency functioning:
- ultrasonic installation angle
- strong electromagnetic interference with Magnetometer performance
- GPS drawback
- Battery power insufficiency
35
Test and Results
37. Conclusion
- System functionality:
- Navigation
- Ultrasonic sensor
- Physical car limitation
- System dependency on direction
- Time constraint
37
Conclusion