Mood Based Navigation Shoe
description
Transcript of Mood Based Navigation Shoe
Unconventional User Interface // 26.01.2009 // Mood Based Navigation Sheo // 1 Haring, Naderer, Zachhuber
Mood Based Navigation Shoe
Roland Haring Otto Naderer
Doris Zachhuber
Matthias Kranz Unconventional User Interaction
VO 367.051 UE 367.052
Unconventional User Interface // 26.01.2009 // Mood Based Navigation Sheo // 2 Haring, Naderer, Zachhuber
Mood Based Navigation Shoe
Navigation system for pedestrians Intended use in urban
environments Input: the user‘s current emotional
state To find other users who feel the
same To find an activity which fits the
mood.
Output: LED-integrated shoe Indicates the heading
Unconventional User Interface // 26.01.2009 // Mood Based Navigation Sheo // 3 Haring, Naderer, Zachhuber
Components
Server Handles all clients Does „mood matching“
Client Ultra Mobile PC (UMPC) Provides GUI to enter the current mood Maintains connection to server Features GPS receiver Controls and powers the Arduino board
Arduino Board Small programmable board (USB interface) Controls LEDs Programming e.g. in „Processing“ (JAVA)
Shoes Integrated cross-shaped LED setup Connected to Arduino‘s outputs Direct user (left, right, back, forth)
Unconventional User Interface // 26.01.2009 // Mood Based Navigation Sheo // 4 Haring, Naderer, Zachhuber
Further Information / Project Site
Paper Extensive information about the project Explains every aspect more detailed Available at our website
Website Hosted on GoogleCode At: http://code.google.com/p/moodbs/ Supports subversion
Read-only access for „anonymous“
Sources and installers available
Unconventional User Interface // 26.01.2009 // Mood Based Navigation Sheo // 5 Haring, Naderer, Zachhuber
Arduino
Open Source Project (HW u. SW) Analog und digital I/Os USB-Interface for communication with
the PC Programming in C++ with Wiring
Framework Java-IDE Big community
Lots of SW libraries Lots of HW components
Autonomous usage via battery possible Distribution
Mainly used among architects and media artists
12 distribution partners in Europa Lots of clones
http://www.arduino.cc
Unconventional User Interface // 26.01.2009 // Mood Based Navigation Sheo // 6 Haring, Naderer, Zachhuber
Arduino DuemilanoveMicrocontroller ATmega168
Operating Voltage 5V
Input Voltage 7-12V
Input Voltage (limits)
6-20V
Digital I/O Pins 14
Analog Input Pins 6
DC Current per I/O Pin
40 mA
Flash Memory 16 KB
SRAM 1 KB
EEPROM 512 bytes
Clock Speed 16 MHz
Newest USB-Board of Arduino $35 at Sparkfun Hardware-Design available for
free Atmel ATmega168 USB to Serial Converter Quarz-Oscillator Multi-Pin Connector Power supply USB or
Battery/Power Adapter PWM: 3, 5, 6, 9, 10, and 11.
Provide 8-bit PWM output with the analogWrite() function
Arduino NG No built-in LED connected
to digital pin 13 Atmel ATmega168 or ATmega8
Unconventional User Interface // 26.01.2009 // Mood Based Navigation Sheo // 7 Haring, Naderer, Zachhuber
Atmel ATmega168
RISC Processor Power: 3,5µW – 45mW (bei 5V und 16
MHz) Harvard Architecture Memory
16KB Flash (Program + Data) 1KB SRAM (Data) 512Bytes EEPROM
16MHz Clock Frequency 23 GPIO Pins 6 PWM Outputs 6 Analog Inputs(10 Bit ADC-Converter) 2x 8-Bit Timer 1x 16-Bit Timer Bus Interfaces
USART SPI (Master) I2C (Master/Slave)
Watchdog Timer
Unconventional User Interface // 26.01.2009 // Mood Based Navigation Sheo // 8 Haring, Naderer, Zachhuber
Duemilanove Accessories
TouchShield XBee Shield Stepper Motor Control
Ethernet Shield GPS Shield Sensoren / Aktuatoren
Unconventional User Interface // 26.01.2009 // Mood Based Navigation Sheo // 9 Haring, Naderer, Zachhuber
Sampe Project Ardrumo
MIDI drums Self construction $53 Piezo elements for pressure
sensitive sensors
Arduino-Board A/D-Convertion of signals Data transfer via USB Only 14 lines of code!
Unconventional User Interface // 26.01.2009 // Mood Based Navigation Sheo // 10 Haring, Naderer, Zachhuber
Arduino LilyPad – Main Board
Wearable E-Textile Technology developed by Leah Buechley [http://web.media.mit.edu/~leah/index.html]
Designed in cooperation with Spark Fun Electronics Sewing on and washing of clothes possible ATmega168V with Arduino Bootloader Lots of accessories available(Input, Output, Power, Sensor
und Actuator-Boards)
Dimensions: 50mm outer diameter Thickness 0,8 mm
Microcontroller ATmega168V
Operating Voltage 2.7-5.5 V
Input Voltage 2.7-5.5 V
Digital I/O Pins14 (of which 6 provide PWM output)
Analog Input Pins 6
DC Current per I/O Pin
40 mA
Flash Memory16 KB (of which 2 KB used by bootloader)
SRAM 1 KB
EEPROM 512 bytes
Clock Speed 8 MHz
Unconventional User Interface // 26.01.2009 // Mood Based Navigation Sheo // 11 Haring, Naderer, Zachhuber
Arduino LilyPad – Accessories
LilyPad Accelerometer 20 mm Ø, $24.95
LilyPad Bright White LED 6 x 11 mm, $ 1.95
LilyPad Button Board8 x 16 mm, $ 1.50
LilyPad Buzzer20 mm Ø, $ 7.95
LilyPad Tri-Color LED20 mm Ø, $7.95
LilyPad Vibe Board20 mm Ø, $14.95
LilyPad USB Link 0.9x1.25", $14.95
LilyPad Temperature Sensor20 mm Ø, $ 4.95
LilyPad Power Supply AAA battery (1.2 – 5V)
56 x 26 mm, $14.95
LilyPad LiPower Supply Lithium Polymer battery (5V)
20 mm Ø, $14.95
Conductive Thread 117/17 2ply, 234/34 4ply, $19.95
LilyPad Light Sensor 20 mm Ø, $7.95
LilyPad Extensions:Bluetooth (siehe Abb.)Data-Logging
Unconventional User Interface // 26.01.2009 // Mood Based Navigation Sheo // 12 Haring, Naderer, Zachhuber
Leah Buechley – Turn Lights for Bikers
Buttons on the sleeve cuffs
Lights LEDs
Unconventional User Interface // 26.01.2009 // Mood Based Navigation Sheo // 13 Haring, Naderer, Zachhuber
Arduino – Programming
Java IDE „Processing“ MIT-Project
Programming in C++ GNU Compiler
Simple Projects Wiring Library abstracts Hardware
User has to implement setup and loop Setup is called once Loop is called cyclic
Only one file with source code per project (Sketch)
One control flow No Interrupts
Many additional libraries from community ~ 30 on www.arduino.cc Stepper Motor Control Soft-UART LCD Etc.
„Printf“-Debugging Bootloader allows Flash-Programming
via USB
Unconventional User Interface // 26.01.2009 // Mood Based Navigation Sheo // 14 Haring, Naderer, Zachhuber
Prototype – 2 Shoes
Components: 4 green LEDs
(front, right, back, left) 4 resistors (150 Ω) Connector pins for every
LED and GND (5V) Arduino digital pins 4 - 7 USB cable to PC/PDA
Unconventional User Interface // 26.01.2009 // Mood Based Navigation Sheo // 15 Haring, Naderer, Zachhuber
Client - Server Architecture
MBS ServerMBS Client
MBS Client
MBS Client
Position Update
Mood Update
Cancel
Navigation (LED) Update
Statustext Update
Unconventional User Interface // 26.01.2009 // Mood Based Navigation Sheo // 16 Haring, Naderer, Zachhuber
Mood / Activity Matrix
0 … not1 … neutral2 … little3 … much
Unconventional User Interface // 26.01.2009 // Mood Based Navigation Sheo // 17 Haring, Naderer, Zachhuber
Matching Algorithm
float Mood::getMatch(Mood &other){
float match = 0.0f; float cnt = 0.0f; for (int i=0; i<=MAX_MOOD_INDEX; i++) {
if (other.getVal(i) == NEUTRAL || getVal(i) == NEUTRAL) { continue; } cnt++; float diff = abs((float)other.getVal(i) - (float)getVal(i)); const float MAX_DIST = 3.0f; match += 1.0f - diff / MAX_DIST;
} match /= cnt; return match;
}
Threshold: 0.75
Unconventional User Interface // 26.01.2009 // Mood Based Navigation Sheo // 18 Haring, Naderer, Zachhuber
State Transition Diagram
General Rules:
1. Cancel brings user back to state „findUsers“ from every state except idle (and remembers declined activities and users)
2. Changing of Mood brings User always back to state „findUsers“
Unconventional User Interface // 26.01.2009 // Mood Based Navigation Sheo // 19 Haring, Naderer, Zachhuber
Server
C++ win32OpenGLOSM Karte
Unconventional User Interface // 26.01.2009 // Mood Based Navigation Sheo // 20 Haring, Naderer, Zachhuber
Server Configuration
<?xml version="1.0" encoding="utf-8" ?>
<MBSSERVER> <MAP FILENAME="../data/linz.png" UL_LNG="14.22077" UL_LAT="48.34071" LR_LNG="14.360633" LR_LAT="48.285773"/>
<ACTIVITY NAME="Moviemento" LNG="14.290535" LAT="48.30292035" TYPE="0"/> <ACTIVITY NAME="Cineplex" LNG="14.32139873" LAT="48.30110691" TYPE="0"/> <ACTIVITY NAME="Landestheater" LNG="14.23575" LAT="48.303769" TYPE="1"/> <ACTIVITY NAME="Theater Phoenix" LNG="14.296946" LAT="48.29159796" TYPE="1"/> <ACTIVITY NAME="Rote Krebs" LNG="14.283666" LAT="48.306125" TYPE="2"/> <ACTIVITY NAME="Walkers" LNG="14.286091" LAT="48.305319" TYPE="2"/> <ACTIVITY NAME="Nui" LNG="14.285788" LAT="48.304311" TYPE="3"/> <ACTIVITY NAME="Steak House" LNG="14.288819" LAT="48.307333" TYPE="3"/> <ACTIVITY NAME="John Harris Fitness" LNG="14.2915477" LAT="48.301973" TYPE="4"/> <ACTIVITY NAME="Pueblo" LNG="14.3224603" LAT="48.3266306" TYPE="4"/> <ACTIVITY NAME="Casino Linz" LNG="14.2900925" LAT="48.2979315" TYPE="5"/> <ACTIVITY NAME="Wettbuero" LNG="14.2813288" LAT="48.31123137" TYPE="5"/> <ACTIVITY NAME="Wissensturm" LNG="14.28854604" LAT="48.29136005" TYPE="6"/> <ACTIVITY NAME="Uni Linz" LNG="14.31934606" LAT="48.3378234" TYPE="6"/> <ACTIVITY NAME="Posthof" LNG="14.3120665" LAT="48.3117609" TYPE="7"/> <ACTIVITY NAME="Empire" LNG="14.30115208" LAT="48.31357423" TYPE="7"/> <ACTIVITY NAME="Brucknerhaus" LNG="14.29260131" LAT="48.31061332" TYPE="8"/> <ACTIVITY NAME="Stadtwerkstatt" LNG="14.28486858" LAT="48.31061332" TYPE="8"/> <ACTIVITY NAME="Posthof" LNG="14.3120665" LAT="48.3117609" TYPE="9"/> <ACTIVITY NAME="Kammerspiele" LNG="14.28301893" LAT="48.30400392" TYPE="9"/> <ACTIVITY NAME="Cafe Glockenspiel" LNG="14.28635338" LAT="48.30541430" TYPE="10"/> <ACTIVITY NAME="LUI" LNG="14.32217177" LAT="48.33770261" TYPE="10"/> <ACTIVITY NAME="Parkbad" LNG="14.29617027" LAT="48.31287828" TYPE="11"/> <ACTIVITY NAME="Institut Wohlgemuth" LNG="14.2784323" LAT="48.3127976" TYPE="11"/> <ACTIVITY NAME="Lentos" LNG="14.28843754" LAT="48.30836480" TYPE="12"/> <ACTIVITY NAME="Ars Electronica" LNG="14.2847997" LAT="48.31098407" TYPE="12"/></MBSSERVER>
Unconventional User Interface // 26.01.2009 // Mood Based Navigation Sheo // 21 Haring, Naderer, Zachhuber
Client
C++ win32MFC
Unconventional User Interface // 26.01.2009 // Mood Based Navigation Sheo // 22 Haring, Naderer, Zachhuber
Client Configuration
<?xml version="1.0" encoding="utf-8" ?>
<MBSCLIENT> <SERVER>localhost</SERVER> <PORT>4711</PORT> <ID>1</ID> <COM>3</COM> <STARTPOS LNG="14.315480" LAT="48.320586" ORIENT="90"/></MBSCLIENT>
Unconventional User Interface // 26.01.2009 // Mood Based Navigation Sheo // 23 Haring, Naderer, Zachhuber
Sources
All sources available at
http://code.google.com/p/moodbs/