530 likes | 685 Views
3D Mouse Glove. Group 17 Presented by Borui Chen & Jianer Shi T.A.: Ryan May 12/02/2011. Agenda. Introduction Overall System Hardware Circuit Design Driver Flowchart Test Algorithm Quaternion Kalman -Filter Ethnical Concern Application Possibilities. Introduction.
E N D
3D Mouse Glove Group 17 Presented by Borui Chen & Jianer Shi T.A.: Ryan May 12/02/2011
Agenda • Introduction • Overall System • Hardware • Circuit Design • Driver Flowchart • Test • Algorithm • Quaternion • Kalman-Filter • Ethnical Concern • Application Possibilities
Introduction Current Solutions Our Solutions • Not portable • Require large calculation on the user(computer) side • 3Dconnection • Not intuitive • Requires a lot of practice • Naturally adaptive control • Easily Portable • DSP Based (Kinect)
Overall System Controller
Hardware Circuit Design
Main Board Architecture 3.3V Voltage Regulator AVR32 MCU RF Board Connector 5XFinger Board TWI Bus Socket TWI Bus Mux /Demux SPI TWI TWI Mini-USB DFU NMI Reset
TWI Bus Mux /Demux TWI Main Board 6 TWI Sub-Bus for Each Finger Board Bus Select Functionality Test: Drive GPIO
Main Board 3.3V Voltage Regulator • 3.4v to 4.2V Battery • 35mV drop at 100mA
Main Board AVR32 PLL 84Mhz Main Clock
Main Board Pull-up Resistor Network on both side of the Mux
Finger Board Architecture TWI Sub-Bus Socket 0-4 Accelerometer TWI TWI TWI Magnetometer 3.3V Power Socket Gyro
Finger Board Accelerometer
Finger Board Magnetometer
Finger Board Gyro
Finger Board Test Procedure: Using Arduino to extract data from 3 sensors on each fingerboard Result: Successful, all responded with correct data
2.4 Ghz RF Board • Reference Design by the chip company • 11.3mA TX Current
Receiver Board Architecture ISP SPI USB 5V Power AVR8 FT232RL USB <-> UART Virtual COM Port UART LED TX/RX Indicator SPI 3.3V Voltage Regulator RF Board Connector
Receiver Board USB
Receiver Board 3.3V Voltage Regulator
AVR8 LED TX/RX Indicator USB FT232RL USB <-> UART
Receiver Board Software • 2 Approach • Stack based static buffer • Heap based dynamic buffer • Test • Echo Program
Wireless Communication Test • Testing Object: • 1. Functionality • 2. Performance
Wireless Communication Test • 1. Functionality Test • Procedure: Send data from Main Board, collect data from computer via the Receiver Board
Wireless Communication Test • Performance Test • Procedure: randomly send and collect 500 packages, record package loss.
Algorithm • Quaternion • 3D rotation representation • Gauss-Newton Method • Estimation of reference frame • Kalman filter • Sensor fusion • Reduce noise
Quaternion Quaternion Relation between vectors Vector • Relation between points
Quaternion Euler Angle • Advantage: • Easy to describe 3D rotation • Relate with Euler angle. • Roll • Pitch • Yaw
Gauss-Newton Algorithm • Usage: Compute reference orientation • Estimation process: • Non-linear • Iterative
Kalman Filter Rudolf Emil Kalman • Observer design Problem • State-space model • Two stages • Estimation • Correction
State space model • For Kalman filter: • In our case: • A comes from gyroscope • B=0 • H=[I] • Var(w) = Q • Var(v) = R
Kalman Filter Stages Where • Equations • Estimation Stage • Update Stage
Applying to our project States State transition B = 0 (no control signal) H = I(4)
Applying to our project • Observation zk = Gauss-Newton(Accel, Mag) • Process noise covariance Q obtained from datasheet • Measurement noise covariance R is assumed small, 0.001xI(4)
Sampling One sample every 40ms Timer interrupt
Display Labview decoder
Matlab 3D plot Convert from Euler angle into 3D vector Roll data not displayed
System Performance • Kalman Filtered output • Output before Filtering
TWI performance Glitchy Different low voltage level for slave but it worked well
Algorithm performance Sampling time: 40 ms TWI delay 1ms Algorithm delay: 21.4 ms
Future work Add Calibration function Improve algorithm with fix point calculations