1 / 14

Swish Sleeve Software Design Narrative

Swish Sleeve Software Design Narrative. Team 7: Stephen MacNeil, Michael Kobit , Sriharsh Achukola, Augustus Hong. Project Overview .

kassia
Download Presentation

Swish Sleeve Software Design Narrative

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Swish SleeveSoftware Design Narrative Team 7: Stephen MacNeil, Michael Kobit, Sriharsh Achukola, Augustus Hong Team 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. Team 7 - Swish Sleeve

  3. Basic Idea Team 7 - Swish Sleeve

  4. Block Diagram Team 7 - Swish Sleeve

  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 .01 s gone by? Yes No Wait Receive IMU Data Apply Kalman Filter and update states Yes 5 s gone by? Update LCD display No 30 s gone by? Yes Update LCD display No Transmit data to base

  7. Main Loop – Waist Unit Wait No Xbee waist data ready? No Time to Refresh? Yes Read data transmitted from waist Update 3D model Yes Draw 3D Image

  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?

More Related