Answers.Body: <p>This is actually a fairly typical problem, with several possible causes.</p>
  
  <p>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.</p>
  
  <p>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.</p>
  
  <p><a href="https://i.sstatic.net/C1jnN.png" rel="nofollow noreferrer"><img src="https://i.sstatic.net/C1jnN.png" alt="Reset rotation sensors for motor A"></a></p>
  
  <p>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.</p>
  
  <p>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 ...</p>
  
  <p>The big message isn't to find a combination that goes straight.  Expect it to wander.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-11-10T22:12:56.677Z
Answers.Text: Thanks for the tip, We are resetting all the motors and sensors after each step and that have improved the reliability of the runs...
Answers.UserDisplayName: Im Xyz
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-04-19T17:19:04.207Z
Answers.Text: can you please post a picture of this reset block for the motors? We are having the same issues - frustrating
Answers.UserDisplayName: cal
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-11-06T17:03:12.247Z
Answers.LastActivityDate: 2017-04-19T21:15:37.343Z
Answers.LastEditDate: 2017-04-19T21:15:37.343Z
Answers.UserDisplayName: dfrevert
Answers.Body: <p>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.</p>
  
  <p>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.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-11-16T00:07:00.753Z
Answers.LastActivityDate: 2015-11-23T22:41:00.550Z
Answers.LastEditDate: 2015-11-23T22:41:00.550Z
Answers.UserDisplayName: bobincman
Answers.Body: <p>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.</p>
  
  <p>However, this should not affect distances.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-11-06T09:53:42.183Z
Answers.LastActivityDate: 2015-11-06T09:53:42.183Z
Answers.UserDisplayName: EVK
Answers.Body: <p>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...</p>
  
  <p>Best solution is probably to use sensors to keep track of where on the FLL table you are.</p>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-11-10T22:14:47.463Z
Answers.Text: 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
Answers.UserDisplayName: Im Xyz
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-11-11T22:22:49.463Z
Answers.Text: Very interesting! We will definitely try this. Thx for sharing.
Answers.UserDisplayName: Lasse
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2016-02-02T13:17:40.717Z
Answers.Text: 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...
Answers.UserDisplayName: Lasse
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2015-11-10T00:23:17.333Z
Answers.LastActivityDate: 2015-11-10T00:23:17.333Z
Answers.UserDisplayName: Lasse
Answers.Body: <p>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.)</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2023-11-17T15:23:05.223Z
Answers.LastActivityDate: 2023-11-18T12:50:13.387Z
Answers.LastEditDate: 2023-11-18T12:50:13.387Z
Answers.UserDisplayName: Coach Carrie
Body: <p>I'm working on FLL mission and every time our team launches the robot (<em>without changing the program, and we are making sure that it is starting from same location every time</em>) it is not following the same turns and distance. </p>
  
  <p>Any idea what is going wrong?</p>
  
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2015-11-04T20:05:22.423Z
Comments.Text: 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).
Comments.UserDisplayName: zovits
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2015-11-04T21:08:09.417Z
Comments.Text: 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
Comments.UserDisplayName: Im Xyz
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2015-11-04T21:16:13.957Z
Comments.Text: we are using EV3 Mindstorm software, which is a drag and drop programming like scratch .... not sure how to attach code here.
Comments.UserDisplayName: Im Xyz
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2015-11-05T04:49:08.193Z
Comments.Text: You can take a screenshot of your program and post the image. Also see http://bricks.stackexchange.com/questions/6209/nxt-motors-curving-to-the-right
Comments.UserDisplayName: David Lechner
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2015-11-05T19:54:27.810Z
Comments.Text: Okay, and what is happening instead? Does your robot veer off a tiny bit, over- or undershooting the distance by a few cms, or does something completely different, like turning in the other direction or spinning in one place?
Comments.UserDisplayName: zovits
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2015-11-06T15:37:02.110Z
Comments.Text: @ImXyz please edit your steps, code, and any other details into the original question so that it is more complete
Comments.UserDisplayName: chicks
Tags: <ev3><fll>
Title: Every time Robot is launched (without changing the code) it is not following the exact path
UserDisplayName: Im Xyz
ThreadText: # Every time Robot is launched (without changing the code) it is not following the exact path
  
  (Asked by: username_0 on 2015-11-04)
  
  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?
  
  **Tags:** ev3, fll
  
  > **Comments:**
  > **username_1**: 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).  
  > **username_0**: 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  
  > **username_0**: we are using EV3 Mindstorm software, which is a drag and drop programming like scratch .... not sure how to attach code here.  
  > **username_2**: You can take a screenshot of your program and post the image. Also see http://bricks.stackexchange.com/questions/6209/nxt-motors-curving-to-the-right  
  > **username_1**: Okay, and what is happening instead? Does your robot veer off a tiny bit, over- or undershooting the distance by a few cms, or does something completely different, like turning in the other direction or spinning in one place?  
  > **username_3**: @username_0 please edit your steps, code, and any other details into the original question so that it is more complete  
  
  ---
  
  ## 5 answers
  
  ### Answer by username_4 on 2015-11-06. Score: 2 | Accepted answer
  
  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](https://i.sstatic.net/C1jnN.png)](https://i.sstatic.net/C1jnN.png)
  
  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.
  
  > **Comments:**
  > **username_0**: Thanks for the tip, We are resetting all the motors and sensors after each step and that have improved the reliability of the runs...  
  > **username_5**: can you please post a picture of this reset block for the motors? We are having the same issues - frustrating  
  
  ---
  
  ### Answer by username_6 on 2015-11-16. Score: 0
  
  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.
  
  
  ---
  
  ### Answer by username_7 on 2015-11-06. Score: 0
  
  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.
  
  
  ---
  
  ### Answer by username_8 on 2015-11-10. Score: 0
  
  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.
  
  > **Comments:**
  > **username_0**: 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  
  > **username_8**: Very interesting! We will definitely try this. Thx for sharing.  
  > **username_8**: 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...  
  
  ---
  
  ### Answer by username_9 on 2023-11-17. Score: 0
  
  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.)
  
  
  ---
  
  