New answers tagged motors
PosRegSetAngle should set the position of the motor relative to the position the motor was in when regulation was enabled. In what way didn't it work when you tried this? It sounds like you may be asking how to wait for the rotation to finish. I'm not sure if there is a built-in way to do this in NXC or not, but I think that something along these lines ...
The command that you are looking for is setMotorTarget as shown in the documentation here. Essentially, you need to set the target rotation for the motor in degrees and then wait for the movement to take place: //Sets motorA target to 50 degrees at a speed of 100 setMotorTarget(motorA, 50, 100); // Waits for movement to complete ...
Check your motors. I had the same problem due to one motor being older than the other. Try to match motors which have a similar age or usage. If this is not possible, use a gyro sensor. Also, check the center of gravity. This can cause wheel slippages.
It could be that one wheel slips more than the other. This happens when the tires get dirty. Also, you can adjust your center of balance so that more weight is on the drive wheels and they will slip less. You can also use the gyro sensor to compensate for any slippage of the wheels.
Top 50 recent answers are included