In spite of all the hype and hoopla I see about position feedback from servos, I don’t think I’ve seen an actual working project that uses it. Before spending a lot of $$$, it might pay to find some working instances to see if it is really a useful asset.
Tekkotsu already uses this on the AIBO, in several ways.
If your robot starts out in an unknown state on power-up, and you want to bring it to a good state, you need to know where its limbs are so you don’t thrash around wildly. This is a real problem with the Hitec servos since there’s no way to use the SSC-32’s speed control feature if the servos’ starting positions are unknown.
We also use force feedback to allow the user to “mold” the AIBO’s body by pressing on it; the system senses this and relaxes the servos a bit so the limb can move.
We used force feedback to allow the AIBO to press keys on a keyboard without applying too much pressure, see this video demo.
But what we really want this feedback for is fine control of gait on a hexapod.
Position feedback is used on the RoboNova in a similar way.
You can read the servo positions on power up and set those as the current position for later point to point moves.
Some work has been done using position reading for force feedback, since the difference of actual position from desired indicates the torque applied, though fairly coarse, it does work.
The most used facility is the catch and play where you move limbs to the desired position and capture the pose to make up programmed moves.
To go back to the original post. If the type of servo can be changed, then the open servo based on a gear motor may be an alternative. This would allow a more powerful motor, or two motors to be used without problems. It will have position feedback
It would be good to know more of the mechanical configuration. A pendulum can be made to perform with a very wide range of power demands. Also with gear motors you can trade torque for speed.
Well, if you have an ssc32 and a HS-422 servo, and are willing to do a little testing, then you could quickly find out if you can get useable position feedback from the HS-422. If you are inerested in doing some actual testing, then start a fresh discussion on the subject on how to do the testing.
Position feedback is very useful, very quickly. Force/Current feedback is much harder to effectively use as it’s often pulsed (at a relatively low frequency with analogs) and entirely dependent upon the variable loading of the joints.
Ok well with regard to several posts here, gad where to start!
Ok well, I’m not too stressed about using the AX-12. and i prefer the servos for reasons listed below…
um ok first some info about my pendulum:
The Robot itself is a remotely controlled ball, with a dynamically stabilized internal platform. Hence the pendulum. So very simply the pendulum hangs from the center of the sphere from a truss. The servo’s that move the pendulum are connected to the truss and to each other in a kind of universal joint configuration. This allows me to swing the weight left/right or forward/back and allows me to place the CM of the pendulum anywhere in the lower hemisphere of the robot…
so there you go, my patent application is now shot! haha!
Ok, so my reason for using servos are:
1: small compact package, big torque
2: they are easily interfaced to a microchip or the like (I’m using the DsPIC30F family from microchip)
3: They move to specific positions, which ultimately makes my life easier than designing a feedback network for a gear motor… (which can sometimes exhibit some rather interesting oscillations depending on your compensation)
The reason i am using positional data feedback, is that for the ball to effectively balance itself, it needs to know where the pendulum is in order to predict the kind of dynamic response it can expect from various possible actions…
Now this is how I am interfacing the servos…
http://i62.photobucket.com/albums/h91/robrobstation/DSC02843.jpg
http://i62.photobucket.com/albums/h91/robrobstation/DSC02840.jpg
using a rigid mounting made of meccano…
so er, haha it should be interesting…
I don’t have a Hitec servo programmer, so I’m setting my sights on the programmer cable mentioned by ribbotson:
lynxmotion.net/viewtopic.php?t=2539&start=0&postdays=0&postorder=asc&highlight=
I can easily control the speed of both servos by using the micro to give discrete positions along a set trajectory to achieve a certain acceleration or angular velocity of the pendulum, it updates once every 20 milliseconds, and the bandwidth of the physical plant is estimated to be about 10-15Hz… so updating my actuators at 50Hz (standard servo time base?) should be fine… as long as i can calibrate them accurately enough…
So yeah!
Thank you guys for all the input!
My next post will most likely have a lot to do with that serial interface and the HMI thingamahjig…
Fun!
I will be sure to test them when my SSC-32 Arrives
Is the pendulum project something that depends on pendulum physics, or is it a tilt detection/counter balancing weight setup?
It depends on pendulum physics a bit, since the dynamic response will have a lot to do with the angular velocity and acceleration of the pendulum and its momentum,
But the steady state response (ie when the ball is sitting still and nothing bothers it) should be dominated by the position of the pendulum, which will act to apply a torque to the internal truss, balancing it against something like a sloped surface or holding the entire structure at a user defined angle…
something like that…
Just a couple of ideas.
Looking at you photo and the idea to use 2 servos in opposite directions. I think it best not to mechanically link the servos, but to give them seperate pendulums. Reverse the directions, but avoid having too much problems with relative position.
You are probably best to use serial HMI to the servos. This will mean you need to invert the dsPic UART in and out. Transactions in serial mode are 7 bytes at 19200 = about 4 millisec. you will need one out to set the position, and one in to read position which can also set the speed. You might consider a dsPic with two UARTS.
hmmm, good thing i haven’t built the pendulum yet…
Thanks ribbotson!
PS: if i do happen to find a way of interfacing the two servos, such that they can be linked mechanically, i’ll be sure to publish…
and assuming i fail as many times as edison, probably beg bankruptcy given the cost of those things! heheheehee!