I understand there are variables that will affect performance of the same program at different times. I am curious what others have experienced in terms of error in programs. Sometimes our program seems to blow a gasket at random points and a program that works reasonably well 4 out of 5 times just goes off the rails. What does everyone else see?
We have not any issues reported related to the same code being ran multiple times producing different results - however, most programs are reliant on motor encoder and/or sensor feedback.
Can you post your iqblocks program and we can take a look at what the issue might be? You can PM me the code if you’d rather not post it.
We actually see similar inconsistency in our autonomous run as well. Not one time, the robot behave the same way. I suspect a couple factors play out here:
- variation in initial set up of the robot (physical placement on the board - the starting point)
- sensor errors (especially gyro drifting)
- use of Omniwheels - the little rollers on the edge add a lot inconsistency as to how robot would behave from the same code.
- variation in the board itself - especially run the same code on different game boards in competition.
- variation in battery power - at 70% or 95% will see a big difference.
We have been struggling to get a consistent working autonomous program for a while and end up adding many time-consuming check points along the path.
But we see in competition that many other robots don’t do any check points and still perform perfectly. that just blow us away. always wondering what is the secrete sauce given all the variability I listed above.
Ours works reliably about 60% of the time and that’s with special attention given to starting location, element placements, field variables etc.
How reliable and repeatable are the encoders? And to clarify I am not criticizing, I think the vex stuff is generally high quality, I am just trying to understand what normal variability looks like.