54
Group 12 Jason Mersch Victor Morales Victor Robles Danielle Anderson ParkBot

Group 12 Jason M ersch V ictor M orales V ictor R obles D anielle A nderson

  • Upload
    egan

  • View
    46

  • Download
    0

Embed Size (px)

DESCRIPTION

Group 12 Jason M ersch V ictor M orales V ictor R obles D anielle A nderson. ParkBot. 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 - PowerPoint PPT Presentation

Citation preview

Slide 1

Group 12Jason MerschVictor MoralesVictor RoblesDanielle AndersonParkBot1Autonomous valet parking vehicle with search, park, and return functionalityProvides a low cost solution to automatic valet parking with potential use in real world vehiclesCars with this functionality would have their own designated row of spacesProject Overview2Front-end parkingCardboard surface with no inclineAvoid objects in pathPark in space without colliding with neighboring carsAll parking spaces uniform and designatedReturn to drop-off positionLow cost to implementSimulate potential real world environmentBattery powered

Requirements3Minimum RC car dimensions: 15L x 13WMax Speed: 6 mphMax search and park time: 5 minutesMax pull out and return time: 5 minutesParked front end clearance: 3 inSafe distance from obstacle during park search mode: 3 in (formerly 10 in) Max cost: $400.00

Specifications4RC car platformDC motor for forward and reverse propulsionMotor speed and motor direction controlSteering servo for left and right maneuversLCD DisplayPower SuppliesTransmitter/Receiver pairObstacle avoidance sensorsMicrocontrollerComponents Overview5RC Car6RC CarRequirements: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)

RC Car ComparisonOption 1: Ready-to-run (RTR) carLeft/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 carFully proportional steeringESC for motor controlLarge enough to fit all essential components on chassis, full function, fit budgetPurchased: Duratrax Evader EXTDimensions:Length: 16.1Width: 12.9Height: 6.6

8Motors & Steering Servo9MotorUtilize existing motor in R/C carModel: Duratrax Photon Speed 20Operating voltage: 7.2 v 8.4vMax speed: Up to 30 mph

10Motor ControlRequirements:Needed to control the motors forward and reverse directionNeeded to control the motors forward and reverse speedSpeed to be kept under 3 mph for accurate movementNeeded to support current draw of motorMotor start-up could potentially meet or exceed 20 A.

Motor Control OptionsOption 1: Implement H-bridge ICEasy interfacing with Arduino microcontroller.H-bridge ICs that supported up to 20 A per channel cost up to $50

Option 2: Use existing ESC on RC carModel: Duratrax Sprint ESC with reverseMaximum constant current for forward 128 A & for reverse 64 AEasy interfacing with Arduino microcontroller.Chose to utilize existing ESC12Dynamite Tazer 15TSpecifications:Operating Voltage: 4.8 8.4 VControls forward and reverse movementPeak current 700 AContinuous current 110 ADesigned for 20 27 turns motorsDimensions:Length: 1.7Width: 1.5Height: 1.1

Steering ServoUse RC cars existing servoOperating Voltage: 6V3-wire servo motorSpeed 0.20 sec/60 degrees128 oz-in torque

14LCD Display15LCD DisplayRequirement:Display currently running function for viewingDescription:Character DisplayWhite text on blue backgroundBacklightStandard Hitachi HD44780 controller16 characters wide x 2 columnsUtilize six data lines (D4 D7 )

16Sensors & Remote Control17Transmitter & ReceiverMotivation:Basic functionalitySend signal to begin parking spot searchSend signal to pull out of parking spot and return to point of originAllows for expansion if different wireless features want to be added18Transmitter & Receiver Methods ConsideredBluetoothToo expensive to implementInfraredPoor range, line of sightWi-FiComponents needed to implement system are too largeChose: RFGood rangeEasy to implement on microcontroller chosenInexpensive 19RF TransmitterMO-SAWR-ATransmits at a frequency of 315Mhz Range up to 500 ft.No line of sight needed fortransmissionCommon in car alarm remotes, beepers, and many similar devicesOperating voltage: 2 to 12v

20RF 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 devicesOperating voltage: 5VCurrent draw: 2.3 to 3 mADigital signal to to microcontroller for easydata processing

21

Sensors ConsideredInfrared SensorsSharp IR GP2D12 Sensor 450 750 nanometer range of visible lightCovers a range of 10 to 80cm with a optimized distance of 24cm Operating Voltage: 0.3 to 7 voltsMax current draw: 10mAImaging SensorsTSL 1401 Linescan Imaging Sensor Daughterboard128-pixel sensor chip7.9mm focal length imaging lensOperating voltage: 3.3 to 5 volts. Max current draw: 5mA

22Sensors Considered contdUltrasonic SensorsChose: Ping Ultrasonic Range FinderEmit a short 40 kHz signal Range 0.8 in to 118.8 in (3.3 yd)Operating Voltage: 5 voltsMax current draw: 35mA

23SensorsAdvantages and DisadvantagesUltrasonic sensorFastest response time at 115 us up to 18.5 msSmallest at 0.84 in W x 1.8 in LBest range at 0.8 in to 118.8 inInfrared sensorPoor rangeImaging sensorPoor rangeSlow response timeExpensive

24Ultrasonic Sensor ConsiderationsThe sensor must be mounted perpendicular to the floor for accurate performanceEcho-free environment for the most accurate readingsThe object that the sensor will detect has to be large enough for the ultrasonic waves to deflect off of it

25Ultrasonic Sensor MountingThe small size of the sensors make it easy for mounting onto the frame of the carThere will be three sensors mounted on ParkBot one in the front and one on each side of the carThese sensors will be connected in series to keep the current draw lowSensors will be mounted at different heights to determine optimal height

26Power Supply27Power SupplyDecided 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)5105525MCU540200Receiver5315LCD5420Voltage (V)Current (mA)Power (mW)Motor7.2--Servo6--Voltage (V)Current (mA)Power (mW)Transmitter520525MCU54020028Voltage RegulationVoltage regulation to 5VDC required for the following componentsMicrocontrollerUltrasonic sensors (x3)RF receiver unitRf transmitter unitDecided 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

29Main Power SupplyChose: 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. 7.2v Ni-MHElectronic Speed ControllerSteering ServoMotor

LM7806Voltage Regulator

30 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

7.2v Ni-MHMicrocontrollerUltrasonic Sensors (x3)LM78055VDCRF Receiver unitLCD

31MCU32MCU Requirements I/O pins needed:4 digital (for obstacle avoidance sensors and RF receiver)3 digital PWM (for DC motor control and servo control)Open sourceWell documented with online examplesUses a familiar programming languageSufficient memory and processing powerOperating voltage of 5VChose: Atmel ATMega328

33MCU SpecificationsAtmel ATMega328With Arduino Bootloader for use with the Arduino languageArduino language based on C/C++Max frequency: 20MHz32KB of program space23 I/O PinsOperating Voltage: 5V

34Pin Configuration Overview

35Overall MCU Diagram

36Programming the MCU

Use a SFE FTDI USB to Serial Basic Breakout Board that interfaces with the MCUOptimized to work with 5V Arduino boards and cloned 5V Arduino boardsEasy loading of code onto MCU through USB port on PCCheaper than buying USB to serial converter cable ($33 vs. $14)37PCBWe 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 boardOptimized Arduino configuration will be used for maximum performance for our systemSize: 4.5" x 3.3

38Software39Testing Area SpecificationsOur RC car is 1:10 Scale (scaled down to 1/10th the size of real world car)Real World Measurements Typical parking space240 in L x 120 in WDimensions of average mid-sized car185 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 MeasurementsDimensions of our RC car16.1 in L x 12.9 in WIn 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 W40Software Class Diagramint occupiedSpotCountKeeps track of the number of occupied left and right spots. Increments after each occupied pair of spots is detectedint openSpotLocationSet to 1 if a left spot is available, 2 if right spot is available, and 0 if spot is detected as occupiedServo steerServoServo object that will represent the steering servoServo escServo 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 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)41Collision Avoidance Algorithm

Parking Spot Search Algorithm

43Parking Algorithm

44Pull Out and Return Algorithm

Motor and Steering Servo Functionsvoid 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)Moves ParkBot forward for a designated amount of time and in the given direction (0 = forward, 1=left, 2=right)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, respectively46Obstacle Sensor Functionsdouble 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 Arduinolong 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 73.746 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 / 73.746 / 2

47Algorithm Functionsvoid 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 sidevoid 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 originvoid 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 made48Testing ScenariosThe following scenarios were mastered:Spot available on leftSpot available on rightFuture endeavors:No spots availableSpot too small on the leftSpot too small on the rightDetect traffic when pulling out of spot

49Future Design Improvements

Administrative Content51Budget

PartsQuantity PriceTotal Price(Incl tax & shipping)RC Car 1 $ 68.00 $ 81.51Ultrasonic Sensors 3 $ 26.95 $ 80.85MCU 1 $ 5.50 $ 9.91RF Transmitter 1 $ 3.50 $ 5.72RF Receiver 1 $ 4.81 $ 6.93Voltage Regulator 2 $ 3.00 $ 5.95Battery 1 $ 26.99 $ 28.76H-Bridge Chip 1 $ 2.53 $ 4.15PCB 1 $ 25.00 $ 25.00USB to Serial Board 1 $ 13.95 $ 18.95LCD Display 1 $ 12.00 $18.75Miscellaneous $100.00 $100.00 Total Budget = $ 416.4852Timeline53Questions???54