real time tracking of human arm movements
play

Real-time Tracking of Human Arm Movements Jacob Phillips, Erik - PowerPoint PPT Presentation

Real-time Tracking of Human Arm Movements Jacob Phillips, Erik Guetz, Dr. Mohammad Imtiaz Project Overview Problem Be able to track, diplay, and predict human arm movements Provide a way to access the data for various applications


  1. Real-time Tracking of Human Arm Movements Jacob Phillips, Erik Guetz, Dr. Mohammad Imtiaz

  2. Project Overview

  3. Problem • Be able to track, diplay, and predict human arm movements • Provide a way to access the data for various applications

  4. Problem Overview

  5. Project Goals • Accurate arm motion tracking – Filtering and prediction • Long battery life – Efficient embedded system • Minimal human interference – Easy to set up and run • Easy to read and understandable display – Mobile phone app with graphs and data readouts

  6. Problem Solution • Inertial Measurement Units (IMU) – Three sensors on arm • Embedded system – Custom PCB with RTOS • Mobile phone app – Android application on smartphone

  7. Problem Solution System Diagram

  8. Functional Requirements • Three IMU’s placed on arm • Data streaming wirelessly • Data storage facility • Stream data for downstream systems

  9. System Design Process

  10. Embedded Systems Specifications • 32-bit Atmel SAM4S32B Microcontroller – Up to 120MHz, 2MB FLASH, 160KB SRAM • 4Gbit NAND FLASH • STC3100 battery “gas gauge”/Coulomb counter • Sparkfun Bluetooth Mate Silver – RN-42 Bluetooth module • LSM6DS3 Inertial Measurement Unit – Up to 6.6KHz and 8Kb on board FIFO

  11. Custom PCBs • Two boards – IMU and main board • Created in Eagle PCB – Custom made libraries and parts • Main board contains 32-bit ARM microcontroller – FLASH memory, Bluetooth, battery charging • IMU board designed as small as possible – Final dimensions: 18.5x15.5 mm

  12. IMUs

  13. IMU • Small, simple device • Low power • Fast communications

  14. IMU PCB ● Kept as simple and small as possible ● Only four components total

  15. Sensor Controller

  16. Sensor Controller • Low power • Multi-day storage capability • Wireless streaming • On-board battery charging

  17. Sensor Controller PCB ● Optimized for low power consumption ● Simple operation with only a single hardware switch ● All control besides power-on handled through app

  18. Power and Charging Schematic

  19. Connector Schematic

  20. FLASH Memory Schematic

  21. Embedded System Initialization

  22. Application Interface System

  23. Application Interface System • Data port • Application Program Interface (API) • Sample Applications – Predictive model • LSTM Neural Network – Visualization

  24. Data Acquisition

  25. Data Filtering and Estimation

  26. Data Prediction

  27. Data Visualization

  28. Accomplishments to Date

  29. Sensor Reading ● Only read data if sensor gives proper “Who am I” ● Data is collected from on-board FIFO ● Sent to host over UART using CMOS to RS232

  30. Initial Sensor Measurement • Used Realterm to save text files containing measurement data • Used Python to interpret saved measurement files and convert them to a MATLAB readable format • Used MATLAB to visualize the data and estimate position

  31. Work In Progress

  32. Revised Sensor Measurements • Used Python to read serial data from COM port • Used Python to estimate velocity and position data from raw acceleration data • Used Matplotlib to plot acceleration, velocity, and position

  33. Revised Sensor Measurements (Cont.) Estimated Velocities Estimated Displacement

  34. Kalman Filtering • Also called Linear Quadratic Estimation • Uses series of measurements containing errors and statistical noise • Produces estimates of unknown variables • More accurate than filtering using one measurement by using a joint probability distribution

  35. Our Use of the Kalman Filter • To estimate velocity and position of the IMU from the acceleration given • To remove any noise and error attached to the incoming measurement data (i.e. sensor drift)

  36. Future

  37. RTOS • Used to keep precision timing on IMU samples • Will feature priority system and task scheduling – IMU sampling is high priority, FLASH writes are medium priority, and battery status reads are low priority • Allows better use of system resources • Avoids wasting processor time in delays • Also will feature a “diagnostic system” to alert host device of errors

  38. Embedded Memory Controller • FLASH memory requires 8-bit parallel writing • SRAM FIFO used in combination with FLASH – Allows bulk writes to FLASH – Minimize time writing to FLASH • No hardware memory controller, must be created through software

  39. Position Prediction Neural Network • Used to predict the next arm position based on past positions • A Recurrent Neural Network (RNN) with built-in long term memory also known as a Long Short Term Memory network (LSTM)

  40. Smartphone Application • Receives streams of data • Used to visualize data • Used to send commands to the sensor controller

  41. Division of Labor Jacob Erik • Design PCBs • Adding components to the • Develop RTOS IMU PCBs • Develop embedded • Developed Application subsystems (IMU, memory Interface controller, etc) • Worked on Android app development

  42. Timeline

  43. Questions?

Recommend


More recommend