Servo position feedback

In my previous article I wrote I modified the servos to get the position feedback. I’m going to give you some information on how to do it.

Before you start, you should be aware that modifying your servos will break the warranty so if you do it, do it at your own risk. This operation requires a lot of patience and you must be thorough when you do it not to make short circuits which may burn irremediably your servos.

The full procedure is well described in the following links :

On my configuration, I connected two wires as shown in the first link. I think this hack is better than the second one because first of all, if you make your measurements on another card (which I do), you won’t have to find a way to get the cards ground together. Secondly, it makes a real measurement of the volt directly at the source of the potentiometer. And finally it may be better for electromagnetic immunity.

I also managed to use the seal to pass both cables (original cable + feedback). To do so, I just used a cutter to give the seal some more room to allow the bigger height caused by the new wires.Servo seal and cablesIn the picture you can see what it finally gives… It looks good ! If you see well, you may have noticed that there’s 6 wires ! Yes indeed, but there’s the red one which is not connected but let there for spare purposes and for esthetism too.

The cable composed of white, red and black wire is the 3002 cable from Phidgets. I connected the black one on the Ground signal (same signal as the black wire from the original cable) and the white one to the servo’s wiper. I soldered the wires as close as possible from the potentiometer to avoid losses and perturbations.

The final results are very satisficing and quite comparable to those obtained by this guy : http://www.youtube.com/watch?v=ygX7sQM2gq0.

Hope this will help people !

EDIT :

Here is another helpful publication : http://learn.adafruit.com/analog-feedback-servosMoreover, Adafruit is selling servos with embedded feedback position ! No more need to hack your servo to reach the holy grail !

The project / Le projet

My goal for this project is to explore AI techniques through diverse experiments. AI is really fascinating so in my spare time I like to try some stuff on this theme…
To do so, I bought the following items :

I first bought the AL5C robot and made some experiments on Neural Networks, but quickly realised I needed some feedback information from the arm (servos positions, video…).

That’s what the Phidgets stuff are for. I’ll make a specific post on how to modify the servos in order to get the position feedback and wire it to the Phidget card.

For the programming stuff I decided, as I’m familiar with, to use :

  • Microsoft Windows XP (well not the best choice ever but, must be compatible with newer ones)
  • Microsoft Visual Studio 2010
  • Aforge.Net and Accord.Net which are really good C# libraries to work with AI.
  • Virtual Machine to hold the whole configuration in a kind of nutshell (isolated from my everyday computer)

I first started with a nice but a little bit mathematic book : Apprentissage statistique from Deyfus. For French speaking people, there’s a good online pdf to read here : http://www.math.univ-toulouse.fr/~besse/pub/Appren_stat.pdf.

The advantage of this reading is that it allowed me to get the basics of some themes like neural network or data preprocessing.

So here is the current state of my customized robot arm :

The robot armTo better understand what the system is, here is the block diagram of my current configuration :

Block diagram of the robot arm