kwatters's blog

Kinect Depth Map rendering in Blender

kwatters's picture


Well, as we open the gateways to blender from MRL, it seemed like a pretty obvious leap to start trying to render point cloud data from the kinect via OpenNI in blender.  I had the kinect write out to a text file all the x,y,z points.  In a small python script in blender, I loaded that text file and rendered small circles for each point.  

Taurus II Dexterous Telepresence Manipulation System, Model TMS2

kwatters's picture

Just came across this robot...  It's a bit more agile than the InMoov .  


Analog Signals, Software based DSP, Audio processing and more in MRL

kwatters's picture

Wow. this is a big topic.. I really just want to start the conversation about a few things in MRL.  An open source DSP software library TarsosDSP was identified as a nice library to help implement these DSP like functions.  The library says that it is for audio processing, but lets consider that audio processing is just analog processing.  Arduino analog inputs are definitely analog and should be able to be pumped into any self respecting DSP library.

How many blobs do you see?

kwatters's picture

New OpenCV filter  "SimpleBlobDetector" has been added.  It will watch a video stream and count up the number of blobs that it sees.  

There is no blob tracking, right now, it just tracks all points of interest so long as the new point of interest is more than 10 pixels away from an existing one.  

In the image below, I drew some blobs on a sheet of paper and held it up in front of the camera..  look at that, there are 5 blobs! 


2 Cameras 1 Kinect...

kwatters's picture

So,  I was able to get 2 cameras (OpenCV) working at the same time as having 1 Kinect (OpenNI) running.

Interestingly enough, comparing the camera images to the kinect image, it seems the kinect has the image reversed on the x axis...



Reflections on the resistance of power supply lines to a servo motor

kwatters's picture

I recently saw some posts in the InMoov forum talking about how the supply lines are very important to being able to power the servos properly.  My initial reaction was that the resistance of the wires going to the servo motors should be negligable.  I mean, after all , it's wire.. it's copper.. it's a conductor.  When we think about circuits we always consider that the wires don't have any resistance at all.  They're ideal conductors, if you will.

The road to industrial robot control for hobbyests

kwatters's picture

My new years resolution is to really get a good understanding of industrial robot arm control with the hopes to come up with some dynamic control to keep robots balanced and borg that into MRL.

I recently picked up a robot arm kit from OWI.  It's a 5 degree of freedom robotic arm.  It took about 2.5 hours to assemble.    

The OWI Robotic Arm Edge Kit


Python Robotics Toolkit

kwatters's picture


Based on

I've been working through getting a kinematic model for the InMoov, recently, I stumbled across a python library based on the matlab robotics toolkit.  It uses NumPy for much of the heavy lifting math operations.  

So far I've been able to create a very small script to compute forward kinematcis of a set of links using this python robotics toolkit

Python easy install on windows

kwatters's picture

Here's a quick little page with some notes of how to install python and dependent modules.  This was done on python 2.7


1. download and install python 2.7.x from  

2. install python in the default directory  c:\Python27

3. download the script from   (save this file in c:\Python27 )

4. open up a command prompt 

5. type   cd %PYTHON_PATH%

6. type   "set PYTHON_PATH=c:\Python27"

3D printed leg from 3DPrinterOS

kwatters's picture

Here's a fun little project and was open sourced at

This leg is about 1/2 the size that the inmoov would need, but it's interesting as a start.  The parts were reasonably easy to print, though some did need to be printed with supports.