Video of IMU Drifting Test on Rumble Strips (Nose Dipping/Lifting)

As it stands, IMU Drifting is in my opinion easily the biggest thing holding back VESC when it comes to both racing and even casual riding to an extent. I have a rumble strip spot out by my place that I decided to do some testing on to show this issue in action, and help provide data for those with minds bright enough to potentially help resolve this.

Accidentally left Torque Tilt on, which is why the slight nose up in pitch when accelerating. Bump Comp set to 500/0.5. Bumps are 10.5cm wide, 20cm apart, meaning the actual impacts (leaving the bump) are 30.5cm apart. Bumps are maybe 1cm deep. Most problematic speeds were ~3-7mph, which equates to a frequency of around 4-11 Hz (if 1Hz = one bump / rumble strip per second).

Going faster than this would usually either keep the board somewhat level, or even raise the nose weirdly enough. Keep in mind, increasing the frequency in this situation also naturally lessens the amplitude since you’re airing over the bumps more, so it’s hard to say which variable is more at play here. Honestly, I’d bet the amplitude is a bigger factor here.

Worth noting that when going over the rumble strips, the IMU reading for Roll is also very evidently drifting. Likely in the same way as pitch is, but since the board stays rolled straight under my feet, it can’t try to correct that like it does for pitch with dipping/lifting.

Hard to say if this directly mimics the same problem we’re having on high speed trails, especially since this specific spot also happens to make FM boards nose dip in a similar way which is a rarity, but still worth taking a look at.

YouTube Link: VESC Bump Test (DETAILS IN DESCRIPTION) - YouTube
Google Drive Link:

1 Like

Follow up, noticed that IMU Pitch Drifting was almost always accompanied by IMU Roll Drifting as well. However, unlike the Pitch which the board tries to compensate for with nose lifting/dipping, Roll is physically controlled by the rider. Therefore, the effects of IMU drift can be witnessed in the Roll value. After noticing this, I decided to run a quick test with Turn Tilt to see how effective it would be to utilize this Roll Drift to trigger tiltback, fighting against nose dipping

To achieve this, I used fairly strong Turn Tilt, with a strength of 45, max angle of 12 degrees, and a quick tilt speed. Allowing IMU Roll Drift to trigger turn tilt does in fact help greatly with countering negative Pitch Drift (nose dipping), though it still negatively impacts riding and can work against you if the IMU confusion actually causes the nose to raise vs. dip, since the roll is still affected the same way. It certainly isn’t a real world solution, just a proof of concept test. Nonetheless, it shows promise as a potential tool to help detect when the IMU is confused and potentially help combat it.

Video of Turn Tilt Test: VESC Bump Test w/ TURN TILT (DETAILS IN DESCRIPTION) - YouTube

From what I understand, the nose dipping is caused by the high Mahoney Kp, I solved nose dipping on my board by lowering it to 1, and adjusting other parameters to smooth it out. I like a pretty aggressive ride though, so maybe not ideal for everyone.

High Mahoney KP definitely intensifies the effects of IMU confusion greatly due to the nature of it. Unfortunately, a high Mahoney KP so far has been the only reliable option to achieving the soft FM-like board behavior I’m after, where I have a great amount of control over the board’s angle.

For high speed trail racing, this behavior can often be crucial for navigating quick ascents and descents without losing too much momentum and making sure the nose or tail clears. Luckily, this behavior at least makes the nose dipping somewhat controllable and manageable with enough skill, but still definitely far from desirable.