350 likes | 507 Views
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.
E N D
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 real-time.
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 Headings Pulse Length Servo Controller • Level Shifters from TTL to Logic • FPGA outputs 3.3V TTL • Servos take 5V logic • CD4504 TI LS Steering Servo Buffered Distance Number of Pulses
Digilent FPGADevelopment 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 sub-routines • 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
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
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 Communication Protocol
P1 H ) D P0 Path Calculation Code Block (FPGA) Compare Consecutive Points Determine Heading and Distance Input Stylus Coordinates Buffer Instructions Send to Servo • Takes Input of an array of Touch-Screen Coordinates • Simple Algorithm to Determine Heading (H) and Distance (D) to Reach Next Point Start End
Path Transmission via Bluetooth Confirmation Received Listen for Confirmation of Transmission Send Path Data Input Socket and Path Data Connect to Socket Return True Return False Start End Confirmation Not Received • 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 Generate OCM_Data Structure Input Socket and Path Data Connect to Socket Receive Data Send Confirmation Start 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 @ Dest? Send Coords to TSC Webcam Capture Center Pixel Pt Map Abs Coords Yes Start End • Determine OCM Location • Take live pictures of field • Color pixel tracking (OCM color coded) • Map field coordinates • Send to TSC No
RPS Field of Vision 19 ft Active-Zone Dead-zone • Capstone lab open space • Maximum depth: 22 ft • iPaq Bluetooth range: 30 ft • Webcam viewing angle: 55° 7 ft 22 ft 55° 22 ft 6 ft Top-Down View Side View
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.
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
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