by subpilot » Mon Jul 17, 2006 11:48 am
by subpilot
Mon Jul 17, 2006 11:48 am
If you want to get servo positions the maximum cycle time is going to be ~3mSecs / servo. Don't know why you would have to get positions from all servos all the time. Just get position data from the servos you have to service.
For that matter, I really don't see a need to get positions unless you are capturing a move like you would in Roboscript. You're commanding the servo to a known position at all other times. If you grab a position in mid move it's going to have some error since the servo drive is stopped and restarted during a position feedback command. I also think it will make the robot a bit jerky. If you really want dynamic feedback maybe it would make more sense to get the analog voltage out of the servo and feed it to a controller A2D pin.
The Servopod has 12 dedicated PWM output pins but also supports PWM I/O on the 15 Timer pins so there's no shortage of PWM channels. The PWM input functions make using a SRF4 ranger etc with PWM outputs a breeze.
If you want to get servo positions the maximum cycle time is going to be ~3mSecs / servo. Don't know why you would have to get positions from all servos all the time. Just get position data from the servos you have to service.
For that matter, I really don't see a need to get positions unless you are capturing a move like you would in Roboscript. You're commanding the servo to a known position at all other times. If you grab a position in mid move it's going to have some error since the servo drive is stopped and restarted during a position feedback command. I also think it will make the robot a bit jerky. If you really want dynamic feedback maybe it would make more sense to get the analog voltage out of the servo and feed it to a controller A2D pin.
The Servopod has 12 dedicated PWM output pins but also supports PWM I/O on the 15 Timer pins so there's no shortage of PWM channels. The PWM input functions make using a SRF4 ranger etc with PWM outputs a breeze.