Hey,
The default software which makes the arm to move to a specific position, does it utilize some sort of a track algorithm?
or in other words, is the current position of the servos somehow acquired for example by SSC-32 controller? And then lets say based on current position and on user input, the proper driving occurs?
According to a quick view on servos, they do not give you feedback of current encoder position, so how is the current state of servos read then?
It uses a standard RC servo motor. You can see how it works here: en.wikipedia.org/wiki/Servo_%28radio_control%29
No, there is no output from the servo (it’s not “intelligent”).
That’s handled entirely within the servos’ electronics / programming (current position vs. requested position and how to get there).
The servo controller can provide different position signals to vary the speed / acceleration, though the servo itself only accepts pulses.
It’s not “read” by the servo controller, but rather it takes care of knowing where it currently is versus where it is being requested to move.
The servo controller needs to update the position every ~20ms so the servo maintains its position.
The servomotors have an encoder of some sort internally to know their own position for their position controller.
Typically that is a potentiometer with those that have less than 360° rotation. Since they are RC servomotors, they provide no output and therefore the encoder position is not available to the RC servomotor controller.
If you want, you can always open up a servomotor case, solder taps to the potentiometer connections and close up the case.
Then, you can read this value using an analog input (either on the SSC-32/SSC-32U) or from a microcontroller directly to get derive the position of that servomotor.
Of course, if you wish to read a large group of servomotors (ex: an 3 DoF hexapod, a humanoid, etc.), you would need a large number of analog inputs. In this case it may be best to use an external analog input with many channels/multiplexing.