Team Ocho Cinco Raymond Chen Zhuo Jing Brian Pentz Kjell Peterson Steven Pham Updated Objectives • Minimum: Design a vehicle controlled remotely by drawing a path on a handheld touch-screen computer. • Target: Include obstacle avoidance feature with minimal path deviation. Utilize Bluetooth to provide real-time stats to touch-screen • Optimal: Implement terrain and obstacle mapping capabilities updating the map in realtime. Project Status • Completed – Basic chassis assembly – Hardware design • In Progress – RPS Pixel Tracking Software – FPGA/Picoblaze Firmware – Touchpad Software Vehicle Chassis • Tracked – 180 degree turns • Runs on 7.2V Ni-Cd Batteries – 10 minute full throttle battery life Servo Control • Throttle and Steering Servos • Takes a pulse every 20ms • Linear time to angle relationship Servo Control Buffered Heading s Buffered Distance Servo Controller Pulse Length Number of Pulses • Level Shifters from TTL to Logic – FPGA outputs 3.3V TTL – Servos take 5V logic – CD4504 TI LS Steering Servo Digilent FPGA Development Board - Spartan-3 XC3S200: 200k gates 3x32 open 3.3V I/O ports Pre-configured power sequence RS232 serial output On-board SSDs for testing • 256 Inputs, 256 Outputs – Supports numerous combinational subroutines • Low Deployment Cost – Occupies only 96 slices, ~3% of XC3S200 • Processor Behavior – Simplifies control and state-machine applications Digital Compass - I2C Interface - Continuous Measurement to 1/10th of a degree IR Sensors • Interfaces with FPGA via A/D converter • 8 bit A/D conversion gives 1cm resolution at 50-60cm (worst case) Bluetooth DIP Module • Connects directly to the FPGA (3.3V logic) • Uses the RS232 protocol – Instantiate a UART on the FPGA Connector Schematic BT, Servo, and Compass Sch. IR Sensor Array Schematic Communication • Nothing Works Without Communication • Necessary Communication Lines: • • • • • • RPS to TSC: Location TSC to OCM: Path Data TSC to OCM: Location OCM to TSC: Obstacle Information OCM to TSC: Heading OCM to TSC: Battery Voltage Communication Protocol Command (ASCII) Ensuing Data Description C -- Clear Path S # of instructions (0 – FF) 16-bit instructions Send Path L 16-bit location (in inches) Send Location O Returns six 8-bit distances (in inches), one for each sensor Request Obstacle data H Returns one 9-bit number (in two bytes) with heading (0o – 359o) Request Heading B Returns one 8-bit digital voltage reading Request Battery voltage Path Calculation Code Block (FPGA) Input Stylus Coordinate s Compare Consecutive Points Determine Heading and Distance Start Buffer Instructions Send to Servo End • Takes Input of an array of Touch-Screen Coordinates – Simple Algorithm to Determine Heading (H) and Distance (D) to Reach Next Point P1 H D P0 Path Transmission via Bluetooth Confirmation Received Input Socket and Path Data Start Connect to Socket Send Path Data Listen for Confirmation of Transmission Retur n False Confirmation Not Received Retur n True End • Takes Input of Socket Name, Address, obtained through IOCTL_BLUETOOTH_GET_PEER_DEVICE – Connects to Socket, sends all Path Coordinates – While still connected, makes sure that the data was received, then returns. Obtaining Data from the Vehicle Input Socket and Path Data Start Connect to Socket Receiv e Data Send Confirmatio n Generate OCM_Data Structure End • Uses same Socket for the Vehicle Transceiver as used in Transmission – Connects to Socket, receives Data, according to Communication Protocol – Sends Confirmation back to the Vehicle. – After each piece of data has been successfully received, program will return a structure containing all data to be processed and displayed. Regional Positioning System Start Webcam Capture Center Pixel Pt Map Abs Coords Send Coords to TSC @ De st? Yes End No • Determine OCM Location – – – – Take live pictures of field Color pixel tracking (OCM color coded) Map field coordinates Send to TSC RPS Field of Vision 19 ft Active-Zone Dead-zone 7 ft 22 ft 55° 22 ft Top-Down View 6 ft Side View • Capstone lab open space – Maximum depth: 22 ft • iPaq Bluetooth range: 30 ft • Webcam viewing angle: 55° Webcam Capture • Microsoft Lifecam VX-3000 – 1.3 MP capture (1280 x 1024) – USB connectivity • OCM in the Field – Specially color coded – Unique color for detection – Shaped spherically OCM Color Pixel Tracking • Image/Pixel Detection – Scan for specified color – Calculate average pixel location – Unique color → Center of OCM (pixelwise) • OCM Location – Algorithm: Pixel → Field Coordinates Battery Li-Ion Battery • 7V, 2AH • Weight: 3.5 oz • Dimension: W1.35x H0.6 x L2.5 (inch) Battery Tracker Li-Ion Battery Tracker • 5 Bars(represents battery’s life at 100%, 80%, 60%, 40%...etc) • Experiment – 1. Charge up battery to max capacity – 2. Discharge battery with light bulb, measure the battery voltage every 5min till the battery is empty. Power Distribution Parts List • • • • • • • Spartan-3 FPGA HMC6352 Digital Compass Kyosho Blizzard EV, Futaba S3003 Servos MS Lifecam VX-3000 7.2V, 2Ah Battery Bluetooth transceiver and Dongle Regulators, capacitors Responsibilities • Kjell Peterson – Touchscreen Controller, Microcontroller • Brian Pentz – FPGA, Picoblaze, Bluetooth • Steven Pham – RPS, Bluetooth, CDS • Zhuo Jing – Power Distribution, Servo Control • Raymond Chen – Servo Control, CDS, FPGA Project Timeline Goals for Milestone 1 • • • • • • Power/Battery interfacing Simple RPS tracking capabilities GUI complete Basic Bluetooth interfacing complete PCB layout, ready for fabrication FPGA layout (completed) Goals for Milestone 2 • • • • • PCB complete and fabricated Servo controller and path calculation complete Car follows given path RPS Fully Functional FPGA subsystem logic completed Goals for Expo • • • • Subsystems fully integrated via FPGA Obstacle avoidance capable Obstacle mapping capable Time permitting: Inclinometer/terrain mapping Questions?