top of page

Software Implementation.

Our software implementation is written in Aruino C with a finite state controller structure.  This means that the software parses contextual information about the user's desires through sensor data and past history. The total cost of raw materials for the software system is approximately $0, with a weight of 0lbs. Check out our github repository here.

Making Sense of Sensors. 

Sensor data from the elbow potentiometer, pressure sensors in the fingers, and accelerometer in the wrist all must be parsed by our Arduino Nano into commands for the feedback and actuation servos.  

 

We are using a finite state controller, which means that sensor data and commands map to a particular key frame, which are interrelated stages of a movement or task.  Our key frames of interest, in the order in which they appear are: 

  • Relaxed - arms by the side, hanging out

  • Lift - forearm is raised

  • Reach - full arm is extended

  • Grab - fingers curl around object

  • Hold - keeping a grabbed object, arm bent and relaxed

  • Release - arm is fully extended afer holding

 

At the elbow, a relative voltage is read in, which is mapped to an angle.  Angle reading is cross-referenced with the accelerometer orientation.  

 

The pressure read by the finger sensors are mapped to servo commands in the feedback cuff.  There is a simple filter which rejects outlier data in the fingers.  The mapping is such that a safe amount of pressure is put on the upper-arm.

bottom of page