Autonomous mode : absolute vs relative commands

When programming the robot for the autonomous match, we currently use relative blocks to control the arm of the robot up or down. In the entire sequence, it goes quite a few times up and down. Would it be more accurate to use the “ spin motor to position x turns” instead of the “spin motor up y turns”. Does the error accumulate over time more with relative commands?
We use a mechanical stopper to limit the maximum height of the arm .

yeah - your motors might over/undershoot and keeping track of the position of your arm might be a cause of error. Additionally, you might need to keep in mind movement that you didn’t explicitly program in case something forces your arm into a different position.

Generally speaking absolute is favored, but I guess it doesn’t mean you can’t be successful with relative.


I’ve found that the motor encoders for IQ are really good, the best sensor for IQ.

You can be driving all over the field, but if you tell the lift motor to go back to zero it will go to the right place consistently.

1 Like

Thanks! we’ll plan to convert in absolute.

Yup, use absolute values.

Arm motor behaves more like Servo (move within a certain defined range). We used relative movement before (reset encoder for every move and move X degree). But the accumulated error will cause the arm motor to stall at the extreme ends (upmost or lowest). Arm motor simply can’t move X degree as specified due to physical constraint.
We switch to absolute approach and it works much better. Reset encoder at the beginning of the code, simply tell arm motor to move to X degree (from that absolute zero position established at the beginning encoder reset).

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.