l Animation Data Flow 5 Animation Data 1

  • Slides: 11
Download presentation
東京情報大学 l Animation Data Flow 5. Animation Data 1. BVH File Viewer SIM (Region)

東京情報大学 l Animation Data Flow 5. Animation Data 1. BVH File Viewer SIM (Region) Server 2. bin. BVH Data Conversion 3. Request 4. bin. BVH Viewer Cache File Joint. Motion. List Execution 1

東京情報大学 System RINIONS Real Time Input from NI and Output to Network and Shared

東京情報大学 System RINIONS Real Time Input from NI and Output to Network and Shared Memory System RINIONS Network Server Rinions Client アプリケーション Shared Memory NI / NUI NI : Natural Interaction NUI: Natural User Interface 2

東京情報大学 Viewer Composition of the System ……… Repeat Does UUID exist in an index?

東京情報大学 Viewer Composition of the System ……… Repeat Does UUID exist in an index? Index Joint data from Kinect. Animation is performed Repeat Calculate Quaternion YES Read Data from Shared Momory Read Data from Joint. Motion. List ……… Repeat UUID of the animation under execution is compared with the index of a shared memory. NO Rinions Data Shared Memory Write a UUID and Joint Data to Shared Memory Repeat ……… 3

東京情報大学 Structure of Shared Memory Joints Index Joints Data (It exists for every joint)

東京情報大学 Structure of Shared Memory Joints Index Joints Data (It exists for every joint) Channel 0 Channel 1 ・・・・・ Channel 21 Joint Info Channel 1 Animation UUID Position X Channel 2 Animation UUID Position Y Position Z Quaternion X Quaternion Y Quaternion Z Quaternion W 8 bytes (double) Channel 21 Animation UUID 36+4 bytes 64 bytes Joint Info ・・・・・ Animation UUID ・・・・・ Channel 0 ・・・・・ Position Z Quaternion X Joint Info = State of Joint(1) + Existence of Data(1) + Joint No. (2) + 0 x 0000(4)             Byte Unit 4

東京情報大学 Correspondence of joint m. Skull XN_SKEL_HEAD XN_SKEL_NECK m. Neck XN_SKEL_LEFT_HAND XN_SKEL_LEFT_ELBOW XN_SKEL_TORSO XN_SKEL_LEFT_SHOULDER

東京情報大学 Correspondence of joint m. Skull XN_SKEL_HEAD XN_SKEL_NECK m. Neck XN_SKEL_LEFT_HAND XN_SKEL_LEFT_ELBOW XN_SKEL_TORSO XN_SKEL_LEFT_SHOULDER m. Head m. Eye. Left m. Wrist. Left L_Hand m. Collar. Right m. Chest m. Torso m. Elbow. Left m. Shoulder. Left m. Plevis XN_SKEL_LEFT_HIP (ROOT) m. Hip. Left m. Knee. Left XN_SKEL_LEFT_KNEE m. Ankle. Left XN_SKEL_LEFT_FOOT Available Joints of Kinect (Open. NI) Kinect SDK m. Toe. Right m. Foot. Left Joints of SL/OS 5

東京情報大学 Quaternion of Joint b Q 2 Q 3 Q 1 Q0 Q 4

東京情報大学 Quaternion of Joint b Q 2 Q 3 Q 1 Q0 Q 4 θ Q 3 c a c=a×b Dot product cosθ = a ・ b Q 4 = (cos(θ/2), sin(θ/2)*c) Q 4 r = ~Q 0*Q 4*Q 0 Cross product a, b, c is unit vector 6

東京情報大学 Log Window Save  Copy Clear File Menu Window Menu Setting Menu Help Sensor

東京情報大学 Log Window Save  Copy Clear File Menu Window Menu Setting Menu Help Sensor Window Start Detection Stop Detection Next User Start Record Stop Record Up Tilt Motor Initialize Tilt Motor Down Tilt Motor Current SDK      Status of Network FPS of writing to Shared Memory  Received FPS  Received Speed 7

東京情報大学 Second Life Open. Sim Miku. Dance SL/OS Viewer Shared Memory Miku. Dance Shared

東京情報大学 Second Life Open. Sim Miku. Dance SL/OS Viewer Shared Memory Miku. Dance Shared Memory Kinect Rinions Kinect UDP anm_server 8

東京情報大学 Animation Relay Server anm_server (Linux/Unix) ü Relay the UDP Data by Group Unit

東京情報大学 Animation Relay Server anm_server (Linux/Unix) ü Relay the UDP Data by Group Unit Relay Process fork anm_server Relay Process fork 9

東京情報大学 UDP Data (every animation) Header (64) Command(2) Timer(2) Joint Data (32) …………… Access

東京情報大学 UDP Data (every animation) Header (64) Command(2) Timer(2) Joint Data (32) …………… Access Key (16+1) Quaternion Data× 4(16) Animation UUID(36+1) Coordinate Data× 3(12) Joints No. (2) Status of Joints(1)+Existence of Data(1) Number of Joints(2) Various use(2) ( )is Byte Length Received Port of Rinions(2) Total Length = Header(64) + Joint Data(32)*Joint Num(15/11) = 544~ 416 bytes 10

東京情報大学 Protocol l Login l anm_server Rinions Logout Relay Process Rinions LOGIN DELETE Group

東京情報大学 Protocol l Login l anm_server Rinions Logout Relay Process Rinions LOGIN DELETE Group Key Access Key, Port Num. Animation UUID OK LOGOUT Access Key, Port Num. fork REGIST Access Key, Port Num. Relay Process Access Key, Port Num. Animation UUID TRANSFER Joints Data ・・・ TRANSFER Joints Data u Sever identified the Client by IP address and port Num TRANSFER Joints Data ・・・ 11