As a new enough team in v5 we struggle a lot with getting a consistent autonomous. I always see other teams with extremely consistent autonomous’ and I’m wondering how they do it. Is it down to just refining it by running it and tweaking until it’s perfect down to the millimetre or are they spending serious money on sensors like GPs sensors. If anyone has any tips at all please let me know.
I personally am not that great of a coder, so take my advice with a grain of salt, but from what I can tell, teams with consistent autons just spend a lot of time running it over and over, changing values slightly or adding one more line of code each time. I’m sure sensors can make the job easier, but they aren’t a must for a consistent auton. Hope this helps! <3
They can be spending money on similar things, but just for your knowledge, the GPS sensor isn’t known to be the absolute greatest. Most teams use either inertial sensors or Odometry. Look those up. If you are interested in Odometry (which is the most popular option among most high level teams), this seems like a good place to start: What is Odometry?
No matter what you have for autonomous, it takes a lot of refining and tweaking to get it right. If you don’t have anything that would help with autonomous, the best advice that I can give you is to make and test autonomous routines with a robot battery that is at 80% or higher (the higher the better though), and make some kind of alinger tool to make sure your robot angle is consistent at the start of autonomous routines. Good Luck!
Sometimes, a problem my team had is that the fields are not all the same. I have not used sensors but one of my sister teams used them and they seemed helpful. I would recommend just testing your code on different fields (if you have access to other fields) and trying to tweak it to (almost) perfection.
Definitely, use feedback from sensors like the rotation sensor on tracking wheels and inertial gyroscope to know how much you traveled and turned respectively. Also, avoid accelerating too aggressively to minimize wheel slip and unbalanced turns.
However, no matter how good your sensors are, the errors will accumulate over time, so consider doing position resets against well known field elements. For example, in the middle of autonomous, while being close to the field perimeter slowly dive into it with a wide bar that will press push button / touch sensor signalling you to stop. This way you will both align the angle of your robot to be parallel to perimeter and reset your knowledge about the true position of the robot to start the second part of your routine without accumulated error.
Finally, design your robot in a such way that even if you arrive to the game or field element few inches off in any direction your intake or manipulator will still be able to compensate for the error and work as intended.
Instead of tuning everything down to the milimeter and having code work differently on every field i’d reccomd running distance, inertial, and rotation sensors to makeyour autonomous prgoram consistent.
I do not think you should use no sensors and lots of tuning, as I mentioned, but I do agree that sensors are very useful.