close-circle
Close
0%
0%

IdeasX

A system developed to disrupt the current state of assistive technology for individuals with severe motor disabilities.

Similar projects worth following
close
IdeasX is system under development to foster connectivity between accessibility devices for individuals with severe motor disabilities. It is my hope, hopefully ours soon, to develop an alternative scalable solution deployable at the institutional and domestic level which challenges the current commercial alternatives in every way possible: usability, user bandwidth, robustness, adaptability, quality, price, and humanity.

Leveraging IoT technology and software, IdeasX aims to provide a robust method of connecting individuals to a plethora of devices: from desktops running industry standard assistive software to wireless enabled iRobots fostering participation in gym classes.

Abstract

IdeasX is a system developed to disrupt the current state of assistive technology for individuals with severe motor disabilities. Leveraging IoT technology and software, IdeasX aims to provide a robust method of connecting individuals via wireless sensors to a plethora of devices: from desktops running industry standard assistive software to wireless enabled iRobots fostering participation in gym classes.

DSC_0233Whatever you do will be insignificant, but it is highly important that you do it. -Gandhi

Background

Understanding the objectives of IdeasX requires a background on the problems similar assistive technology is attempting to solve, and the current solution set developed by industry. Once this is understood, I’ll jump into how IdeasX is different, and why the differentiation from existing solutions is important.

The purpose of this technology is actually pretty simple: to provide an avenue for individuals with nearly zero vocal capabilities and an extremely limited range of motion to interact with world. Fundamentally, this technology is an interpreter except instead of translating languages we are translating a diminished range of motion into something a computer can understand.

This type of technology is not new and has been around for decades. Unfortunately, it is rather cost prohibitive, archaic, and clunky due to a lack of market competition. The U.S. market for assistive technology (targeted towards individuals with severe motor disabilities and/or on the autistic spectrum) is currently dominated by two entities: Don Johnston and AbleNet.

Don Johnson

Don Johnson develops software designed to be maneuverable with limited user inputs for computers and mobile devices . Remember, these are individuals which do not have the ability to navigate the digital realm with a mouse and keyboard; therefore, the software has to be usable with as little input diversity as one to two keystrokes. Don Johnson only sells a single hardware product called the Switch Interface Pro 6 (I like to call it SWIP6) which retails around 100 US dollars.

ra_35.jpgSwitch Interface Pro 5.0. The confusing bit is the SWIP6 doesn’t have six inputs.

The SWIP6 is basically a glorified USB keyboard with 5 jacks used to connect sensors that the user to activate. When a sensor is activated, the SWIP6 sends a keystroke to the computer which when loaded with Don Johnston software is enough for a decent user experience. The sensors can range from something as complex as a blink activated switch to a simple button.

swip6 interfaceExample setup of SWIP6 with various types of sensors. Note, you can see the five mono jacks on the bottom of the SWIP6. That is also my computer <3.

AbleNet

AbleNet sells hardware. They produce sensors which can used with the SWIP6, and therefore Don Johnson software, but also other devices which the sensors can directly plug into and manipulate. Combined with the SWIP6, the goods they sell can do some pretty amazing things.

Here are few other products in their line up.

ablenet productsVarious AbleNet pressure activated sensors (switches). Top left, simple wired pushbutton switch. Top right, PowerLink 4 mechanism which can be controlled by external sensors. Bottom left, 900MHz wireless pushbutton switch. Button right, BLE wireless pushbutton switch.blow switchsAbleNet pneumatically activated switches. These sensors are activated by blowing into the tube.

As you can see from the samples of AbleNet’s product line above, despite being produced for a wicked good cause, the sensors are rather ehhh…retro in their style, functionality, and pricing? $230 will give you the Jelly Beamer wireless pushbutton switch. If you would like to use the wireless switch with Don Johnson’s software, you’ll still need the SWIP6 which is another $100. You want to use this switch with a cellphone? If you have an Iphone you can purchase the switch adapter for $190. Don’t have an Iphone? Well, you’re out of luck, but they do offer a BLE capable switch for $185. AbleNet has some great ideas, but I feel their products are bit...

Read more »

  • 1 × ESP8266
  • 1 × 700mAh Li-Ion Battery
  • 1 × MAX17058 Electronic Components / Misc. Electronic Components
  • 1 × LSM6DS3
  • 1 × FTDI231 Electronic Components / Misc. Electronic Components

View all 8 components

  • Gesture Recognition: The Beginning

    Tyler Berezowsky10/13/2016 at 05:06 0 comments

      I'm been working on a debug mode for the IdeasX v0.3.1 sensor module to send back live accelerometer (XL) and gyroscope (G) from the LSM6DS3. You can skip to the video if you're like me. The idea is to have the encoder send data back to a computer to be remotely processed. (The final design will have the module locally processing the data every 100ms.) The purpose of this is two fold:

      1. It will permit me to rapidly develop and deploy different gesture recognition / motion detection algorithms using a high level language such as Octave or Python before deploying them on the module.
      2. The methods developed for streaming data can later be used for training applications. Example: if a significant motion algorithm is selected to activate an actuator, an initial configuration dialog will stream the data back allowing the therapist to see the range in XL and G values. The therapist would then adjust the thresholds for significant motion according to the range in values of the data streamed back.

      Design / Guesswork

      The LSM6DS3 utilized by the V0.3.1 module contains a 8kB FIFO which can be used to store information generated by the device (accelerometer, gyroscope, and temperature). When raw IMU data is going to be used for adaptive switching, the FIFO will permit the ESP8266 to process the data in chunks freeing up processing time for other operations.

      The normal order of operations would be some like what follows:

      1. Set the IMU to the desired sampling rate.
      2. Configure the FIFO to trigger an interrupt on INT1 when the desired number of samples is reached.
      3. When the interrupt is triggered, the ESP8266 will dump the specified number of samples used for the sense period.
      4. The ESP8266 will process the data by applying a detection algorithm (NN, DTW, etc)
      5. If the detection algorithm has detected an event, the ESP8266 sends a Data Message through the IdeasX system.

      For streaming information, the following debug order of operations is proposed:

      1. Set the IMU to the desired sampling rate.
      2. Configure the FIFO to trigger an interrupt on INT1 when the desired number of samples is reached.
      3. When the interrupt is triggered, the ESP8266 will dump the specified number of samples used for the sense period.
      4. Repeat step 3 for X number of times then proceed to 4
      5. The ESP8266 sends the raw data via a Data Message through the IdeasX system.

      Due to limited FIFO size and various sampling rates, a few plots were generated to determine the number of samples which would be accrued over 4 different proposed sampling periods (50ms, 100ms, 150ms, 200ms). "Sampling period" here refers the amount of time the LSM6DS is allowed to accrue samples before being dumped.

      figure_1.png
      Figure 1: Samples vs ODR

      The first figure displays the number of samples accrued based on the sampling rate of the IMU or output data rate (ODR) and the length of time samples are allowed to accrue. It should be noted each sample is actually 12 bytes total. Each axis for the accelerometer or gyro is represented by two bytes. The resolution can be reduced to 1 byte per axis. As the response time of the module should be <200ms, a 200ms sampling period can be ruled out as too long.

      figure_3.png
      Figure 2: Time required to dump FIFO based on ODR.

      Figure 2 displays the amount of time required to dump the FIFO. This was based on experiments which recorded the amount of time required to dump a single sample from the IMU and store that sample in RAM.

      logic_analyer.png
      Figure 3: It requires 8us to receive 32bits from the SPI port and to store it into an array.

      Figure 4 displays the number of bytes the LSM6DS3 will attempt to store in the FIFO based on the 4 evaluation periods. The black horizontal line represents the limit of the 8kB FIFO. The simulation assumes the gyro and xl are both storing samples for each axis with full resolution (16 bits).

      figure_2
      Figure 4: Bytes!

      Implementation

      The v0.3.1 module required a tiny modification. A jumper needed to be soldered to attached INT1 to PBA. This also required a modification to the GPIO ISR routine to check if the interrupt was triggered by the...

    Read more »

View project log

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates