Download presentation
Published byJordan Scofield Modified over 9 years ago
1
Group 12 Jason Mersch Victor Morales Victor Robles Danielle Anderson
ParkBot
2
Project Overview Autonomous valet parking vehicle with search, park, and return functionality Provides a low cost solution to automatic valet parking with potential use in real world vehicles Cars with this functionality would have their own designated row of spaces
3
Requirements Front-end parking Cardboard surface with no incline
Avoid objects in path Park in space without colliding with neighboring cars All parking spaces uniform and designated Return to drop-off position Low cost to implement Simulate potential real world environment Battery powered
4
Specifications Minimum RC car dimensions: 15”L x 13”W Max Speed: 6 mph
Max search and park time: 5 minutes Max pull out and return time: 5 minutes Parked front end clearance: 3 in Safe distance from obstacle during park search mode: 3 in (formerly 10 in) Max cost: $400.00
5
Components Overview RC car platform
DC motor for forward and reverse propulsion Motor speed and motor direction control Steering servo for left and right maneuvers LCD Display Power Supplies Transmitter/Receiver pair Obstacle avoidance sensors Microcontroller
6
RC Car
7
RC Car Requirements: Needed an electronic speed control module (ESC) w/attached motor to control the motor speed and direction . ESC needed to be easy to interface with an Arduino microcontroller. Needed 3-wire steering servo motor for easy interfacing with an Arduino microcontroller. (some, believe it or not, came with 5-6 wires) Needed to have a large enough chassis to support multiple battery packs, obstacle avoidance sensors, and PCB. (minimum: 15” L x 10” W)
8
RC Car Comparison Option 1: Ready-to-run (RTR) car
Left/Right /Center steering (not proportional) Large and fit budget, but did not have desired ESC for controlling motor speed and direction Option 2: Hobby grade RTR car Fully proportional steering ESC for motor control Large enough to fit all essential components on chassis, full function, fit budget Purchased: Duratrax Evader EXT Dimensions: Length: 16.1” Width: 12.9” Height: 6.6”
9
Motors & Steering Servo
10
Motor Utilize existing motor in R/C car
Model: Duratrax Photon Speed 20 Operating voltage: 7.2 v – 8.4v Max speed: Up to 30 mph
11
Motor Control Requirements:
Needed to control the motor’s forward and reverse direction Needed to control the motor’s forward and reverse speed Speed to be kept under 3 mph for accurate movement Needed to support current draw of motor Motor start-up could potentially meet or exceed 20 A.
12
Motor Control Options Option 1: Implement H-bridge IC
Easy interfacing with Arduino microcontroller. H-bridge IC’s that supported up to 20 A per channel cost up to $50 Option 2: Use existing ESC on RC car Model: Duratrax Sprint ESC with reverse Maximum constant current for forward 128 A & for reverse 64 A Chose to utilize existing ESC
13
Dynamite Tazer 15T Specifications: Dimensions:
Operating Voltage: 4.8– 8.4 V Controls forward and reverse movement Peak current 700 A Continuous current 110 A Designed for 20 – 27 turns motors Dimensions: Length: 1.7” Width: 1.5” Height: 1.1”
14
Steering Servo Use RC car’s existing servo Operating Voltage: 6V
3-wire servo motor Speed 0.20 sec/60 degrees 128 oz-in torque
15
LCD Display
16
LCD Display Requirement: Description:
Display currently running function for viewing Description: Character Display White text on blue background Backlight Standard Hitachi HD44780 controller 16 characters wide x 2 columns Utilize six data lines (D4 – D7 )
17
Sensors & Remote Control
18
Transmitter & Receiver
Motivation: Basic functionality Send signal to begin parking spot search Send signal to pull out of parking spot and return to point of origin Allows for expansion if different wireless features want to be added
19
Transmitter & Receiver Methods Considered
Bluetooth Too expensive to implement Infrared Poor range, line of sight Wi-Fi Components needed to implement system are too large Chose: RF Good range Easy to implement on microcontroller chosen Inexpensive
20
RF Transmitter MO-SAWR-A Transmits at a frequency of 315Mhz
Range up to 500 ft. No line of sight needed for transmission Common in car alarm remotes, beepers, and many similar devices Operating voltage: 2 to 12v
21
RF Receiver MO-RX3400-A Receives signal at 315Mhz from RF transmitter
Range of up to 500 ft. Common in car alarm remotes, beepers, and many similar devices Operating voltage: 5V Current draw: 2.3 to 3 mA Digital signal to to microcontroller for easy data processing
22
Sensors Considered Infrared Sensors Imaging Sensors
Sharp IR GP2D12 Sensor 450 –750 nanometer range of visible light Covers a range of 10 to 80cm with a optimized distance of 24cm Operating Voltage: 0.3 to 7 volts Max current draw: 10mA Imaging Sensors TSL 1401 Linescan Imaging Sensor Daughterboard 128-pixel sensor chip 7.9mm focal length imaging lens Operating voltage: 3.3 to 5 volts. Max current draw: 5mA
23
Sensors Considered cont’d
Ultrasonic Sensors Chose: Ping Ultrasonic Range Finder Emit a short 40 kHz signal Range 0.8 in to in (3.3 yd) Operating Voltage: 5 volts Max current draw: 35mA
24
Sensors Advantages and Disadvantages
Ultrasonic sensor Fastest response time at 115 us up to 18.5 ms Smallest at 0.84 in W x 1.8 in L Best range at 0.8 in to in Infrared sensor Poor range Imaging sensor Slow response time Expensive
25
Ultrasonic Sensor Considerations
The sensor must be mounted perpendicular to the floor for accurate performance Echo-free environment for the most accurate readings The object that the sensor will detect has to be large enough for the ultrasonic waves to deflect off of it
26
Ultrasonic Sensor Mounting
The small size of the sensors make it easy for mounting onto the frame of the car There will be three sensors mounted on ParkBot one in the front and one on each side of the car These sensors will be connected in series to keep the current draw low Sensors will be mounted at different heights to determine optimal height
27
Power Supply
28
Power Supply Decided to divide the power system of ParkBot into two separate power supplies: One will power the drive motor and servo. The other will power the remaining components. Transmitter has its own power supply. Voltage (V) Current (mA) Power (mW) Sensors (x3) 5 105 525 MCU 40 200 Receiver 3 15 LCD 4 20 Voltage (V) Current (mA) Power (mW) Transmitter 5 20 525 MCU 40 200 Voltage (V) Current (mA) Power (mW) Motor 7.2 - Servo 6
29
Voltage Regulation Voltage regulation to 5VDC required for the following components Microcontroller Ultrasonic sensors (x3) RF receiver unit Rf transmitter unit Decided to use a simple linear regulator for the power supply in order to power the components listed above. A LM7805 5VDC voltage regulator will be used. Voltage Regulation to 6VDC required for the: Servo system drive
30
Electronic Speed Controller
Main Power Supply Chose: Duratrax 7.2V Ni-MH 4200mAh rechargeable battery pack. Will be directly connected to ESC module (no voltage regulation needed). Will be connected to a LM7806 6VDC fixed voltage regulator to power the steering servo motor. Was chosen based on the amp/hours and voltage needed to properly operate the other components for the minimum time specification. Electronic Speed Controller 7.2v Ni-MH LM7806 Voltage Regulator Steering Servo Motor
31
Secondary Power Supply
Chose: Chose: Digital Energy 9.6V Ni-MH 1600mAh rechargeable battery pack. Will be connected to a LM7805 5VDC fixed voltage regulator to power Ultrasonic Sensors (x3), RF Receiver unit, and microcontroller unit. Was chosen based on the amp/hours and voltage needed to properly operate the steering servo and rear motor for the minimum time specification. About 1600mAh/152mA = 11 hours and 31 minutes Good amount of battery life for testing and running LM7805 5VDC LCD 7.2v Ni-MH Microcontroller Ultrasonic Sensors (x3) RF Receiver unit
32
MCU
33
MCU Requirements I/O pins needed: Open source
4 digital (for obstacle avoidance sensors and RF receiver) 3 digital PWM (for DC motor control and servo control) Open source Well documented with online examples Uses a familiar programming language Sufficient memory and processing power Operating voltage of 5V Chose: Atmel ATMega328
34
MCU Specifications Atmel ATMega328
With Arduino Bootloader for use with the Arduino language Arduino language based on C/C++ Max frequency: 20MHz 32KB of program space 23 I/O Pins Operating Voltage: 5V
35
Pin Configuration Overview
36
Overall MCU Diagram
37
Programming the MCU Use a SFE FTDI USB to Serial Basic Breakout Board that interfaces with the MCU Optimized to work with 5V Arduino boards and cloned 5V Arduino boards Easy loading of code onto MCU through USB port on PC Cheaper than buying USB to serial converter cable ($33 vs. $14)
38
PCB We decided to purchase a punchboard and utilize the Aruduino layout for the Atmega328 microcontroller. We soldered the PCB after successful testing of the implemented parts on the board Optimized Arduino configuration will be used for maximum performance for our system Size: 4.5" x 3.3
39
Software
40
Testing Area Specifications
Our RC car is 1:10 Scale (scaled down to 1/10th the size of real world car) Real World Measurements Typical parking space 240 in L x 120 in W Dimensions of average mid-sized car 185 in L x 70 in W (120 – 70) / 2 = 25 inches in between parked car and left and right ends of parking spot. Multiply this number by 2 to get 50 inches in between the parked car and each of the neighboring parked cars. Also there is an approximately 60 inch rear clearance assuming the car parks 5 inches away from the front barrier. Scaled Down Testing Area Measurements Dimensions of our RC car 16.1 in L x 12.9 in W In order to achieve 5 inch (50 / 10) clearance in between parked cars and a 6 inch rear clearance (60 / 10), parking spaces in the testing area will have the following dimensions (left and right ends of the parking spot will denote the side of the neighboring parked car, not the ends of the actual parking space): 22 in L x 22.9 in W
41
Software Class Diagram
int occupiedSpotCount Keeps track of the number of occupied left and right spots. Increments after each occupied pair of spots is detected int openSpotLocation Set to 1 if a left spot is available, 2 if right spot is available, and 0 if spot is detected as occupied Servo steerServo Servo object that will represent the steering servo Servo esc Servo object that will represent the electronic speed controller ParkBot int occupiedSpotCount int openSpotLocation Servo steerServo Servo esc + void moveForward(int milliseconds, int dir, int multiplier) + void straightenWheels() + void turnLeft() + void turnRight() + double timeToDistance(long sensorReading) + double getDistance(int sensorPin) + void searchForSpot(boolean search) + void park(int whichSide) + void pullOutOfSpot(int whichSide)
42
Collision Avoidance Algorithm
43
Parking Spot Search Algorithm
44
Parking Algorithm
45
Pull Out and Return Algorithm
46
Motor and Steering Servo Functions
void moveForward(int milliseconds, int dir, int multiplier) Moves ParkBot forward for a designated amount of time and in the given direction (0 = forward, 1=left, 2=right) void moveBackward(int milliseconds, int dir, int multiplier) void straightenWheels(), void turnLeft(), void turnRight() These functions straighten out the wheels of ParkBot, turn the wheels of ParkBot to the left, and turn the wheels of ParkBot to the right, respectively
47
Obstacle Sensor Functions
double getFrontDistance(int whichSensor) This function will return the distance value read from whichever sensor is passed in the parameters. The parameter is the pin that the sensor is connected to on the Arduino long timeToDistance(long sensorReading) Sensor-read helper function. Takes in a time in microseconds (i.e. reading from an Ultrasonic sensor) and converts the time into a distance in inches (i.e. distance from nearest object to sensor). According to Parallax's datasheet for the PING))) Ultrasonic sensor, there are microseconds per inch. Also the sensor reading in microseconds is the total time, outbound and return, so we must divide by 2 to get the distance to the obstacle. This gives us the following conversion: distanceInInches = sensorReading / / 2
48
Algorithm Functions void park(int whichSide)
Does the process of pulling ParkBot into a parking spot. If the whichSide parameter is 1, ParkBot will pull into the parking spot on the left side. If the whichSide parameter is 2, ParkBot will pull into the parking spot on the right side void searchForSpot(boolean search) Does the process of searching for an open parking spot if the search parameter is true. If the search parameter is false, this functions is used to return to the point of origin void pullOutOfSpot(int whichSide) Does the process of pulling ParkBot out of a parking spot. If the whichSide parameter is 1, ParkBot will pull out of a parking spot that it pulled into on the left side. If the whichSide parameter is 2, ParkBot will pull out of aparking spot that it pulled into on the right side Talk about what type of modifications will be made
49
Testing Scenarios The following scenarios were mastered:
Spot available on left Spot available on right Future endeavors: No spots available Spot too small on the left Spot too small on the right Detect traffic when pulling out of spot
50
Future Design Improvements
51
Administrative Content
52
Budget Parts Quantity Price Total Price (Incl tax & shipping) RC Car 1
$ 68.00 $ 81.51 Ultrasonic Sensors 3 $ 26.95 $ 80.85 MCU $ $ RF Transmitter $ $ RF Receiver $ $ Voltage Regulator 2 $ $ Battery $ 26.99 $ 28.76 H-Bridge Chip $ 2.53 $ PCB $ 25.00 USB to Serial Board $ $ 18.95 LCD Display $ $18.75 Miscellaneous $100.00 Total Budget = $
53
Timeline All parts ordered Feb. 10 All parts received Feb. 20
Initial component testing completed Feb. 25 Hardware circuitry completed Mar. 1 Software completed Mar. 10 Initial Complete System Testing completed Mar. 25 Final testing completed Apr. 1
54
Questions???
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.