Recording Bipedal joint movements

Hey guys,

I have my mega all set up to control a ridiculous amount of servos, now I'm hoping for some insight on recording several modes of movement.

Here is my idea:

I have lots of hobby servos with stripped gears so i was planning on rigging each of the degrees of freedom from my hips down with the potentiometers from the servos. After doing this I could then record my joint angles while walking, balancing on one foot, kneeling, etc. After recording them I could then call them out as a single command like: forward, backward, turn left, turn right, kneel, left foot, right foot etc.

Is it possible to record movements and call them out like this? Is there a better/easier way to get accurate/life-like joint movements?

Thanks!

tt_tony:
Hey guys,

I have my mega all set up to control a ridiculous amount of servos, now I'm hoping for some insight on recording several modes of movement.

Here is my idea:

I have lots of hobby servos with stripped gears so i was planning on rigging each of the degrees of freedom from my hips down with the potentiometers from the servos. After doing this I could then record my joint angles while walking, balancing on one foot, kneeling, etc. After recording them I could then call them out as a single command like: forward, backward, turn left, turn right, kneel, left foot, right foot etc.

Is it possible to record movements and call them out like this? Is there a better/easier way to get accurate/life-like joint movements?

Thanks!

The typical way to do this with standard servos is to hack the servo to gain access to the potentiometer, and to lead out extra wire from that potentiometer to read with the Arduino (note, you will probably need a analog multiplex switch IC to do with with a regular Arduino - not enough ADC inputs for all the joints of a humanoid robot).

So - without further adieu, take a look at this thread - particularly the post/link to the Parallax thread:

http://arduino.cc/forum/index.php/topic,86279.new.html

There are also posts to links on "hacking the servos" - if you want to do that, go for it; it's tried and true - works somewhat well (depending on the servo - if you do some googling on the topic, you'll find threads where people have tried it and gotten noisy output from the servo, as well as issues with the servos having problems after the hack because of the extra circuitry on the potentiometer interfering with the servo's feedback circuit).

However, I find the Parallax thread to be much, much more interesting - and better suited for what you are trying to do. In theory, if you use small circuit boards and SMT components (mainly for the 7805s needed by the circuit), you could build small "piggyback" boards for each servo. Anyhow, the idea behind what is being discussed in that thread is that you use a system whereby to read the position of the servo, you stop the servo, but apply a very small current at the voltage of the servo - just enough to turn the servo's circuit on, but not enough to cause the servo to rotate. Then, you "scan" the servo by sending it positioning commands. It will respond by trying to move to those commands, but it won't have enough current to do so. At the point where your scan causes the servo to -not- move, that is the point where the servo is positioned. You sense this by sensing the current the servo is drawing. At the "zero point" (ie, where the servo is positioned), there shouldn't be any current over the current being provided to the servo. Everywhere else in the scan should show a higher current.

It supposedly takes a while to do the scan, but that will also depend on your code; there might be ways to speed the scan up (for some reason, a binary search/sort method popped into my head as a possibility - but on second thought, I am not sure).

thanks for that, i am going to try it, just have to pick up the parts. being able to monitor the servos and even record movement (right?) will be great for recording poses but i actually wanted to record MY joint angles while doing certain actions, record them, and find a way to call them out. I think i will be better off with the pots for that.

Arm setup using pots.

Very nice video, add an internet connection and you can do remote surgery :wink:

Very nice video, add an internet connection and you can do remote surgery

Or skype and adult entertainment. $)

That is pretty awesome. any idea how to record those positions at 50Hz, save them and call them out as one command?

Measure the pot output values at what ever frequency is needed.