Currently our inertial sensor is positioned in the center of our robot, but there are lots of wires surrounding it, could that cause any problems? I’m currently debugging my odometry setup (which uses the inertial sensor) and this seems to be the only explaination
I dont know that much about the specifics of how a vex inertial sensor works, so my answer might be completely useless.
I dont believe the inertial sensor uses any sort of camera or equipment that would be interfered by the presence of wires around it. I would try moving it to another part of the robot (preferably just above the point where it was mounted) to see if the wiring was the problem.
Well its not to do with cameras or anything, i know they dont use that, its more whether the current of wires is strong enough to interfere with the magnetism that it uses for orientation
Id use the “move up” suggestion.
Personally, I doubt the magnetism of the wires is enough to cause major problems.
If you want to test the inertial sensor to see if it’s the problem, you can output the heading that it reads and check if its correct. A common problem with these sensors is that the heading is scaled by some value so that it will not output exactly how much the robot has turned. For example, my team’s sensor is consistently about 1 degree off every full rotation, so it thinks the robot only turned 359 degrees when it actually turned 360 degrees. You can fix this in your code by multiplying the sensor’s reading by a scale factor.
I think it’s more likely that any major errors in odometry are caused by either the mechanics of the odometry wheels or the code used to calculate the odometry, not wires surrounding the inertial sensor. One thing that helped our odometry was making sure the odometry pods couldn’t flex side to side. Posting your code and pictures of your odometry could help us figure out the issue.
Yeah, turns out the inertial is fine, its that because im not using some wheels close to the center specifically for odometry, im using the encoders in the motors of the drivetrain, this means when turning there are inaccuracies, ive now made a script to stop updating position when turnig on the spot and that seems to work.