Now this is some DIY. 
 
  
 
 
http://video.google.com/googleplayer.swf?docId=8393403029360051976 
  
 
From the article: 
 
What it does? Basically: 
 
  * Navigate around, collect some data, avoid obstacles, until it 
  * Finds something "worth playing on" (a single isolated object or a wide flat surface that it can find an angle onto) 
  * Snakes into place 
  * Plays some beats on what it have found, and samples this, checking it has a "good sound" 
  * Based on data collected in the area, and sample just made, then compose a little rhythm, and plays this along with the sample