rSkin - Open Source Robot Skin by Plusea
Featured
6354656557_1ffc7f0a92.jpg
6354654405_563d32059a.jpg
6372295595_f1d4b3882b.jpg
6252906152_d78d8d2bd3.jpg
This textile skin is designed to stretch over a robotic limb in order to detect intensity of pressure as well as location of contact across it’s entire surface. rSkin was commissioned by Ian Danforth who also helped fund the Bilibot, an affordable robotics platform. The aim of this project was to develop an affordable open source design robot skin that could be customized to fit a variety of robot shapes and sizes.

While this Instructable documents the process of building a fully functioning 28 x 28 pressure sensitive matrix, there is much room for improvement, and so in each step we discuss issues with the current solution and also include suggests for improvements. At this stage in the project we are really looking fwd to receiving your feedback and suggestions! Ian is also looking to hire individuals interested in (re-)building the skin based on this Instructable (changes, alterations, improvements encouraged!), so if you are interested in taking on this challenge, please contact us through Instructables. Please note that the skills required to replicate the current version of rSkin include: hand and machine sewing, soldering and a basic understanding of the electrical properties of materials.

The next step this Instructable explains in more detail the basic principal of how rSkin works without going into the full amount of detail required to build it yourself. Before attempting to remake this Instructable, i would recommend reading through all the steps to get a good impression of how it all comes together. Building rSkin is not necessarily a linear process where everything needs to happen in a particular order, though in this Instructable i make an attempt at doing just that.

rSkin project progress blog >> http://www.plusea.at/?page_id=2259

Here are some videos of the results of the current version of rSkin:

Ellipse Visualization


Heat-Map Visualization


Gray-Scale Visualization

rSkin Links:
Project Page
Progress Blog
Flickr Photo Set
GitHub Code Repository
YouTube Playlist
 
Remove these adsRemove these ads by Signing Up

Step 1: Pressure Sensor Matrix (an overview)

6256626424_bdb2dd3bf4.jpg
6356536427_0fa4dae0e6.jpg
6121120148_1f8ef33cd2.jpg
rSkin is a pressure sensitive grid made of conductive, non-conductive and piezoresistive fabrics. While the grid described in this Instructable is 28 rows x 28 columns large, ideally it can be scaled up to cover much larger areas.

rSkin is made of stretchy materials so that it can fit tightly over the robot arm. The conductive rows and columns are sewn using a conductive thread to adjacent pieces of non-conductive stretch materials (base substrates). Stretchy piezoresistive fabric is sandwiched between the conductive rows and columns, and acts as a pressure sensitive layer. Piezoresistive materials have the property that their electrical resistance decreases under under mechanical stress, such as pressure.

The photo included in this step shows the conductive rows and columns made from strips of conductive fabric sewn to their base substrates with a regular (non-conductive) thread. This photo was taken during the prototyping stage and while it nicely shows the layering of the skin (the white layer is flipped to face the pink layer), in the final version we sewed the conductive rows and columns using conductive thread, rather than using strips of conductive fabric. Our choice to use the thread instead of the fabric, came because by minimizing the conductive surface (a strand of thread is thinner than a strip of fabric), we increased the range of pressure sensitivity through the piezoresistive fabric.

Once the fabric part of the matrix is constructed, the rows and columns are individually connected to in/outputs of a microcontroller that acts as an analog to digital converter. Because there are more rows and columns than most microcontrollers have pins for, we use multiplexers to increase the number of in/out connections. But essentially what we we are doing is powering the rows one by one, while reading analog values (pressure information) from the columns one by one. Because we know which row is powered and which column we are reading from, we know where (location information) the incoming analog value is located. This all happens really fast, so that we can parse through the whole grid in multiple times in less than one second - giving us the impression that it is all happening instantaneously.

The mircrocontroller (in our case a Teensy) is programmed to parse the rows and columns and collect the pressure and position data, sending it over the USB connection to the computer where another application (written in Processing), reads the string of data and translates it into a visualization by mapping the incoming values to their corresponding position on the robot skin, and shading, colouring or drawing shapes according to the pressure information.

The row and column solution is not the only possibility we explored when approaching this project. The Piezoresistive Touchpad was among our first trials, but it does not support multi-touch.

Terminology (for clarity):
* Base substrates: non conductive materials.
* Flesh: lower base substrate made of neoprene with conductive columns machine sewn with conductive thread.
* Skin: upper level base substrate made of durable double knit stretch fabric with conductive rows machine sewn with conductive thread.
* Base: end of robot arm opposite the hand. This is where all the row and column connections terminate/accumulate and make the connection to their hard circuitry.
* Far end: opposite base end of robot arm. This is where the robot hand is with its two fingers.
* Hand: robot hand that has two fingers.
* Fingers: individual parts of the robot hand.
* Traces: i refer to the rows and columns as traces, they are conductors analogous to wires.
Wae says: Jan 19, 2013. 6:42 AM
Can this be used on a person as well? Say a shirt or pants, mapping parts of the body or no?
thealeks says: Jan 30, 2013. 8:59 PM
It should be able to. Its like making a matrix of those bend sensors that are all over instructables. Hmm putting this on a person could be an interesting way to see which muscles are being used, could be useful for fitness buffs
megaduty says: May 27, 2012. 1:07 PM
Sweetness!!
domestic_engineer says: Feb 23, 2012. 4:57 PM
Hey, this is a really cool project.
I posted it on Geek Crafts.

http://geekcrafts.com/robot-skin/
MDude says: Feb 22, 2012. 8:52 PM
Well this is cool. I'm going to need to do more work on electronics if I want to get started on a robot cat any time soon.
RetroPlayer says: Feb 16, 2012. 5:56 PM
Is this "piezo-resistive foam" any more special than anti-static foam? I have made pressure sensors from that stuff before. Of course the one thing that does make it less effective for a purpose like this is that it doesn't really spring back well or very quickly. I will have to look at the Eeonyx stuff.
Plusea (author) says: Feb 17, 2012. 6:20 AM
you're right, it's the same thing. some foams hold their shape better with squeezing than others. velostat another antistatic/piezoresistive material that comes in flat plastic sheeet form, and the eeonyx fabrics are fabrics coated in a antistatic/piezoresistive polymer.
rkeyzer says: Feb 15, 2012. 9:14 PM
Add a some EL multi-color material with a power source and finaly put it all in to a pair of pants and you have a womans worest nightmare pants that show how fat you are
rimar2000 says: Feb 15, 2012. 6:11 PM
WOW, this is awesome, congratulations!
ilpug says: Feb 15, 2012. 2:20 PM
Wow. Robots with touch!
marc.cryan says: Feb 15, 2012. 6:41 AM
This is really great. Very exciting project.
iandanforth says: Feb 15, 2012. 10:53 AM
Thanks! We're pretty excited about it too!
Pro

Get More Out of Instructables

Already have an Account?

close

PDF Downloads
As a Pro member, you will gain access to download any Instructable in the PDF format. You also have the ability to customize your PDF download.

Upgrade to Pro today!