I'm working on FLL mission and every time our team launches the robot (without changing the program, and we are making sure that it is starting from same location every time) it is not following the same turns and distance.

Any idea what is going wrong?

  • Can you give at least an overview of what are you trying to achieve and what is the current approach you are using? Even better would be a copy of the actual program (for debugging purposes - the competition is another matter).
    – zovits
    Commented Nov 4, 2015 at 20:05
  • sure... so we are trying to 1. make the robot start from south wall of FFL table and x degree straight 2. turn right y degree using one large motor 3. go straight z degrees straight after turning 4. come back all the way to south wall by tracing back step 3, 2 & 1
    – Im Xyz
    Commented Nov 4, 2015 at 21:08
  • we are using EV3 Mindstorm software, which is a drag and drop programming like scratch .... not sure how to attach code here.
    – Im Xyz
    Commented Nov 4, 2015 at 21:16
  • You can take a screenshot of your program and post the image. Also see bricks.stackexchange.com/questions/6209/… Commented Nov 5, 2015 at 4:49
  • 1
    @ImXyz please edit your steps, code, and any other details into the original question so that it is more complete
    – chicks
    Commented Nov 6, 2015 at 15:37

5 Answers 5


This is actually a fairly typical problem, with several possible causes.

The motors do not directly drive the axle, there is a gear train hiding inside the plastic casing. That gear train can be deflected without turning the motor.

The software controlling the motor maintains a last known position so that several move blocks can be run in sequence and the over/under at the transition between blocks is taken into account. This is typically a problem when the robot is picked up during an aborted run, and the program is rerun. The robot acts like it remembers the previous run and twitches to the left or right when it is restarted. There is a motor reset block to handle this problem.

Reset rotation sensors for motor A

Dirt/dust on the wheels can also cause issues, as can wheels not firmly positioned on the hubs. This year we spent a whole session trying to get the robot to go straight and ended up trading wheel/hubs until we found a pair that worked fairly well.

Some wheel/hub combinations slip. We spent a long time thinking some old yellow hub + shiny black wheels would work. What a mistake. The wheels didn't slip at first. After a couple runs that smacked into the wall and they loosened and nothing, not rubber bands, not different hubs, not ...

The big message isn't to find a combination that goes straight. Expect it to wander.

  • Thanks for the tip, We are resetting all the motors and sensors after each step and that have improved the reliability of the runs...
    – Im Xyz
    Commented Nov 10, 2015 at 22:12
  • can you please post a picture of this reset block for the motors? We are having the same issues - frustrating
    – cal
    Commented Apr 19, 2017 at 17:19

If you are using a wheeled robot, make sure that the wheels aren't disturbed in any way. If they move slightly on the axel or the tyre changes position on the rim, turns well be off and in a long program without calibration points, the problem vill propagate and get worse for each turn.

However, this should not affect distances.


We have this problem all the time too, very frustrating... We have found that the robot is very sensitive to the charging level of the battery. Keep the battery well charged at all time - seems to help...

Best solution is probably to use sensors to keep track of where on the FLL table you are.

  • We are resetting all the motors and sensors after each step and that have improved the reliability of the runs.. we created myBlock with the reset of all the motors and sensors.... and added my bloc after each step
    – Im Xyz
    Commented Nov 10, 2015 at 22:14
  • Very interesting! We will definitely try this. Thx for sharing.
    – Lasse
    Commented Nov 11, 2015 at 22:22
  • You write "We are resetting all the motors and sensors..." - do you use the motor rotation sensor block to reset the motors? It's the only way I find to reset a motor...
    – Lasse
    Commented Feb 2, 2016 at 13:17

In addition to the suggestions already mentioned, we discovered a very unexpected problem causing our inconsistency. Ultimately we found the problem was because the robot was moving a motor though there was no instruction to move the motor in the program at that time. During a turn, the medium motor pushed an arm down on the table, increasing the friction during the turn. Because the arm was already resting on the table, this change in pressure wasn't visible, but the result was significant, as the angle of the turn would often vary by 5-10 degrees. This movement of the arm was noticed only when the program was accidentally run while someone was holding it.

After deleting the program from the robot, changing the program then reloading it, the motor was not moving the arm and the turn was consistent again.


We found that after any accessory motor use (lift, or any motion other than wheels), we needed to unpair and re-pair the wheel motors. For whatever reason, that works! We are using Python so we made a function to do this automatically when we use the wheel motors. (You can do the same in block code with MyBlocks.) We still have issues after using the bot for about an hour... I just have to assume that's battery-related. It seems better after a charge. Maybe it is all in our heads though. We are not using the gyro as it is glitchy and inserts wrong values often enough that we won't use it. (Are all Spike Prime gyros like this? This is our first year with this bot). Maybe we just have to buy a new hub to get a new gyro... but YES, we have seen the motors do strange and unexplainable things at random moments. I guess that's why we get 3 runs in competition... to try to make your code just work! (I do miss the gyro! We had it working really well last year with the EV3.)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.