36
team teneo dillon krasovec : jerod ellingson : robert glissmann : ben walker : patrick hanschen +cd r

t eam teneo

  • Upload
    joanne

  • View
    74

  • Download
    1

Embed Size (px)

DESCRIPTION

t eam teneo. d illon krasovec : j erod e llingson : robert g lissmann : ben walker : patrick h anschen. +cdr. mission. universal human interface device intuitive alternative to mouse and keyboard or any difficult to learn remote controller. glove architecture. adc. adc. - PowerPoint PPT Presentation

Citation preview

Page 1: t eam teneo

team teneo

dillon krasovec : jerod ellingson : robert glissmann : ben walker : patrick hanschen

+cdr+cdr

Page 2: t eam teneo

mission: universal human

interface device: intuitive alternative to mouse and

keyboard or any difficult to learn remote controller

Page 3: t eam teneo

glove architecture

adc adc

Page 4: t eam teneo

glove schematic

Page 5: t eam teneo

gyro schematic

Page 6: t eam teneo

: flex sensor+ circuit design+ analog input on MSP+ testing

: external ADCs + circuit design+ spi communication+ streaming data

80%

33%

glove progress

Page 7: t eam teneo

e progress

: accelerometer+ circuit design+ communication+ streaming data+ packet data

: gyro + circuit design+ analog input on MSP+ process angle data+ connecting to external ADC

65%

50%

Page 8: t eam teneo

MSP430F2616

SMClk

SPIState Machine

1/x

Slave Select

Data OutData In

SPI Master•3 SPI State Machines•2 different clock speeds

Page 9: t eam teneo

asynchronous spi communication

void spi_interrupt(){.. Read next command.. Buffer received data.. Send next command..

void spi_interrupt(){.. Read next command.. Buffer received data.. Send next command..

void main(){.. Place commands in

FIFO buffer. [ Other tasks ]. Read data from FIFO buffer.

void main(){.. Place commands in

FIFO buffer. [ Other tasks ]. Read data from FIFO buffer.

FIFO Command

Buffer

FIFO Command

Buffer

FIFO Receive Buffer

FIFO Receive Buffer

Page 10: t eam teneo

Request ADXL Data*

Request

Flex Data*

Quantize

Flex Data

Request Gyro Data*

Process

Data

ProcessADXL Data

Send Data*

Page 11: t eam teneo

Request ADXL Data*

Request Flex Data*

Quantize Flex Data

Request Gyro Data*

Process Data

ProcessADXL Data

Send Data*

Request ADXL Data*

Request Flex Data*

Quantize Flex Data

Request Gyro Data*

Process Data

ProcessADXL Data

Send Data*

: what we want+ transmission specification: packets/sec

: limitations+ get sufficient samples for precision+ allow sufficient processing

: achieving correct timing+ set ADXL sampling clock+ choose buffer fill threshold

timing

Page 12: t eam teneo

-f2616

pc-hub

Page 13: t eam teneo

HubController<<controller>>

+RF_receive();+HID_emulator();+IR_tracker();

+SlaveSelect();+LookupTable();

HID_emulator<<boundary>>

+DeviceDescriptor();

+sendMouseState();+sendKeyboardState();

RF_receiver<<boundary>>

+inBuff[]; char+outBuff[]; char

+getHandState();

IR_camera<<entity>>

+Init();+transmit();+transmitComplete();

AtmelUSB_interface<<entity>>

+sendFeature(char []);+writeBytes(char[]);+readBytes(char &[]);+connect(ID);

MainUI_window<<controller>>

+List<Profile> profile();+ProfileBuffer();+XmlFileInterface();+save();+cancel();+createNewProfile();+editProfile();+downloadProfile();

ProfileBuffer<<entity>>

+ActiveProfile+list<Gesture> gestures+rename(string);+saveProfile();+cancel();+createNewGesture();+saveGesture();+cancelGesture();

Profile<<entity>>

+List<Gesture>gestures+name(); string+description(); string+setName();+getName();+setDescription();+getDescription();+getGestureList(); List<Gesture>+addGesture(Gesture);+removeGesture();

Gesture<<entity>>

+ID(); string+BitwiseDescriptor();+XmlNodeDescriptor();+getName()+getBitwiseDescriptor();+getXmlNode();+populateFromXmlNode():

Xml_interface<<boundary>>

+filename

+getProfileList();+saveProfileList();+loadSettings();+saveSettings();

GloveController<<controller>>

+HandState(); struct+FingerTrends();+AccelTrends();ControllerState();+getSensorData();+sendHandStat()+executeScheduledTasks();+processCurrentState();

Accelerometer<<entity>>

+getx();+gety();+getz();+setMode();

RF_transmitter<<boundary>>

+inBuff[]; char+outBuff[]; char+sendBuff();

AnalogSensor<<entity>>

+polledByADC();

gets/sets

calls

shows/hides

displays

calls

modifies

Composed of

Gives data/ gets status

Gets data from

gets data from

transmits to

calls

calls

polls

class diagram

Page 14: t eam teneo

: PixArt: wii remote: cmos + preprocessing: outputs x y coords and spot size: no official spec sheet: hacks and snooping

infrared cam

Page 15: t eam teneo

: intermediate circuit: 25Mhz oscillator: i2c – different clk: init()

+ mode+ sensitivity

: timer driven polling

ared cam

Page 16: t eam teneo

: ez430-rf2500: pin header interface: initially a risk: uart for debugging: spi ports

+ successful+ only has two – pins are shared+ no uart for debugging

: current progress =

radiofrequency

85%

Page 17: t eam teneo

packets

15 0

accel x-vector

accel y-vector

TILCRC M 5 discrete bits middle 5 discrete bits index

gyro pitchgyro roll

12

byte

s

accel z-vector

8 7

3 bits palm 3 bits rotation

misc.

Page 18: t eam teneo

pc hub gesture lookup

RDir PDir RD LD T I M10 8 5 4 3 2 1 0

hashfunction

index keyboard seq. mouse action

0 3 chars 2 bits

1 3 chars 2 bits

… … …

8 3 chars 2 bits

key

Page 19: t eam teneo

master to usb emulator

: spi (3-wire) from master to USB emulator+ frame packet (5-bytes) indicates key presses and mouse position

+ single status-byte returned by emulator

+ indicates whether a new Profile LUT is available

+ hub’s look-up table is updated with “focused transfer”: all other transactions and look-ups cease: tables are not persistent between sessions (mouse stored statically)

+ current progress =

K1 K2 K3 ∆X ∆Y

25%

Page 20: t eam teneo

pc hub schematic

Page 21: t eam teneo

: atmel processor (At90USB1287) implements human interface device (HID) protocol+ vendor ID (VID) and product ID (PID) distinguish unit from

other USB devices+ device descriptors

: mouse: keyboard: generic device

usb emulator module

Page 22: t eam teneo

: receives output reports from PC utility+ when requested by the Hub master processor,

reports are forwarded via SPI: receives commands from hub master via SPI:

+ keys and mouse state to assert in output reports: current progress = 30%

emulator module

Page 23: t eam teneo

pc config utility: software utility allows for complete configuration

of glove gesture mapping+ written in visual c#

: usability profiles enable users to save groups of gestures for a specific type of application+ eight or fewer gestures per profile+ three-key hotkeys

: application saves profiles by serializing to XML

<?xml version="1.0" encoding="utf-8" ?><Profiles> <Profile name="Mouse" default="true" description="Basic mouse controller"> <Gesture id="g45t"> …

Page 24: t eam teneo

config utility: library support for device detection

+ windows messages provide connection notification

: DLL wrapper enables communication to Hub device via host “output reports”+ allows utility to detect when USB device is connected+ gesture descriptors are packed into six-byte structures+ profile description table transmitted via OUT reports

: current progress =

70%

Page 25: t eam teneo

Configuration Utility UI

Page 26: t eam teneo

helicopter hub design

Overview - Compare prices

                                          

Page 27: t eam teneo

throttle

pirouette roll

pitch

Page 28: t eam teneo
Page 29: t eam teneo

heli-hub architecture

rc LPFgpio

adc

zigb

eejta

g

v follower

dac

Page 30: t eam teneo

helicopter hub schematic

Page 31: t eam teneo

: controller is now optional+ very challenging control application+ may require more powerful processor+ testing could be hazardous

: testing shows…+ even coaxial helicopter challenging to fly+ hovering requires constant adjustment+ uncertain if glove will be easier or harder

controlle bluesr

Page 32: t eam teneo

milestone

: derive angle and movement from accelerometer

: acquire and process flex and gyro data: IR cam prototyping: integrating RF + emulator + IR into hub proto: demonstrate pass-through function on heli-

hub: rev. 1 PCB’s

1e

Page 33: t eam teneo

: glove construction: helicopter controllable by glove: glove fully emulates HID device on a PC: GUI with google sketchup profiles: rev. 2 PCB’s construction

milestone 2

e

Page 34: t eam teneo

: repair parts and batteries for heli -= $60: PCB sensors -= $60: PCB revisions -= $200: glove and accessories -= $60: surface mount components -= $50

budge t= $620

= $190

Page 35: t eam teneo

Division of Labortask dillon robert ben patrick jared

IR unit d r

drivers / USB d r

gyroscopes / accelerometers b

flex sensors / buttons p j

software system sesign d r

sensor processing and comm b

helicopter controller interface p j

PCB d r b p j

construction d r b p j

Page 36: t eam teneo

dillon krasovec : jerod ellingson : robert glissmann : ben walker : patrick hanschen

questions