Download presentation
Presentation is loading. Please wait.
Published byMonserrat Wates Modified over 10 years ago
1
Swish Sleeve Software Design Narrative Team 7: Stephen MacNeil, Michael Kobit, Sriharsh Achukola, Augustus Hong 1Team 7 - Swish Sleeve
2
Project Overview We would like to design and implement a series of sensors that can be attached to the arm with Velcro straps. Basketball players would wear these straps to track their motion, without the use of cameras. This prevents current occlusion issues inherent in optical motion capture. The sleeve can be extended to other sports as well and beyond the scope of this class could be extended to an entire suit which could monitor sports performance in athletes. With the help of OpenGL the movement can be recreated in simulation. 2Team 7 - Swish Sleeve
3
Basic Idea 3Team 7 - Swish Sleeve
4
4 Block Diagram
5
Software Overview PIC32, Embedded C 80 MHz clock Sampling of IMU’s is 100 Hz Event-driven/polling Every.01 s the IMU’s will be polled and data transmitted to base station via XBee Every 5 s the LCD screen will be updated Every 30 s the Battery monitor will be polled Atom board (base station) – C++ and OpenGL
6
Main Loop – Waist Unit Receive IMU Data Apply Kalman Filter and update states.01 s gone by? 5 s gone by? Update LCD display 30 s gone by? Update LCD display Transmit data to base Yes No Wait
7
Main Loop – Waist Unit Read data transmitted from waist Update 3D model Time to Refresh? Yes Draw 3D Image Xbee waist data ready? No Wait No Yes
8
IMU and filtering Communicate with I2C up to 400 kHz clock Data will be read every.01 s X,y,z data each 2 bytes (both accel and gyro) Kalman states for each IMU X,y,z position X,y,z velocity Update current state of each IMU based on measurement and past state
9
LCD Write and read mode Enable Cycle Time – 400 ns Most instructions take 37 us Clear display and return home take 1.52ms We will not use read functionality
10
Battery Monitor 1-wire interface Remaining Active Absolute Capacity (RAAC) [mAh] 2 bytes Interface operation – Normal – 16 kbps => 2 bytes every.001 seconds – Overdrive – 140 kbps => 17.5 bytes every.001 seconds Not extremely time critical, can read the bits when the micro has time
11
XBee – Transfer Configure XBee network ID and communication channel to avoid receiving information from other modules in the lab Operate XBee in simple transparent mode Baud Rate: 9600 bits/s Serial data comes in on one end and comes out the other Code should be interrupt driven, to allow faster data transfer rate Transmit interrupts occur when XBee is asking for more character to send
12
XBee – Receive Receiving XBee connected to the atom board through the XBee Explorer USB interface FTDI drivers on PC allows treating USB connection as standard PC serial port Received data can then be obtained through the SerialPort class in C++
13
Atom Board – 3D Output Written in C++ and OpenGL Atom board’s graphic support limits refresh rate Aiming for 15-30 frames per second Refresh rate of less that 60 fps is visibly noticeable Packets from XStick unpackaged and used to update 3D model
14
Questions?
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.