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?

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend