speed control for collision detection?

There was a long discussion about speed control and naming of the servos with calamitys changes.

On my long flight from Miami to Zurich I concluded that speed control must be a stepwise process commanding the servo to do a lot of little steps according to loop time and speed settings.

So it should be possible to see whether the joint did move during the last increment or not?

Seeing that we are not at the target destination but also did not make any progress in the last / 2 last increments is telling us that

a) the servo is not strong enough to reach the position

b) the position is unreachable because of a collision

Just wondering - any comments about this?

calamity's picture

Hi juerg the hobby servo

Hi juerg

the hobby servo don't have any way to report their actual position.

the speed control told to servo to move in increment just like you describe, but is in no way capable of reporting the actual position of the servo. so if the the servo is unable to move, because it's not strong enough or there is a collision, the servo will keep trying to move to the position, and eventually burn or break something.

With the DIYServo, it will be possible to have a feedback for the position. But not with hobby servo.


juerg's picture

double pot?

Mats has shown how he replaced the somewhat tiny servo pot with a bigger 5k one. Pot's come also with double connectors. With that we could measure the current position of the "hacked" servos? Or would timing be critical?  

calamity's picture

with a hacked servo such

with a hacked servo such thing will be possible. We can compared the actual position of the servo with the expected position, then if they don't match stop and go back a bit

Of course the reaction time will always have a delay (collect the position data, process it and react to it) so the collision will happen, but that should be good enough to prevent the worst (breaking thing or burning servo)