So I have been using vexiq blocks and for some reason, when I’m using the brain inertial during autonomous runs, it sometimes just doesn’t turn correctly. The gyro will make the robot move to a certain position, try to correct itself, but won’t turn again. It would sometimes overshoot and undershoot, then try and go to the correct heading just for it to not turn. I can hear the motors moving too but it just won’t turn. Our turning during driver control is pretty smooth and doesn’t have many issues so I’m kind of stumped. Help would be appreciated!!
The problem of the robot not turning correctly just sounds like the jankiness in the vex inertial sensors. To actually make your robot turn fast and accurately, I’d recommend looking into some basic PID.
Don’t have Vex code in front of me. Do you have “set heading to 0” when you start your run? If it is in when started and team moves the robot, may affect “turn to heading” commands. Our team does turn for degrees as safer. Momentum may affect turn to heading but I am rusty from last year.
In addition to making sure you set the heading initially as @RodCushman suggests (and making sure your robot is flat against a wall when letting it do the start-up calibration), you may want to set your drive timeout if you find you have turns that are getting very close and then either not finishing, or taking a very long time to get there. You may also want to set your turn velocity separate from the drive velocity.