Motorcycle Lean Angle

Finding motorcycle lean angle (or roll angle) using AiM hardware isn’t quite as straight-forward as we might want it to be. Starting with AiM’s Race Studio Analysis 3 (aka RS3A), there is a built-in math channel for computing lean angle. The downside is that it’s based on simply GPS Gyro and GPS Speed. While this is not to say that it’s a poor choice, it will often result in lean angles that are not possible physically. Over the winter break, I’ve been experimenting with the new math channel. I finally have a bike and ECU profile to capture the bike’s IMU data so I can use that as a reference to fine-tune the lean angle math channel. Because I have this channel, I’m able to compare the math channels to the bike’s data and work on reverse engineering the AiM data to better resemble the bike’s IMU data. A couple of weeks ago I was at Buttonwillow and much of that trip was simply trying to get the IMU data so that I can work on refining the math channel.

In order to ensure maximum accuracy, mounting of the AiM hardware is largely dependent on 2 things:
1.) Once mounted, connect to the AiM hardware and calibrate it (done from within the device configuration in RS3). I also set a display on my S2DL showing lateral and longitudinal acceleration so that if I move the S2DL I can look at that display screen and adjust the angle of the S2DL to get the numbers as close to zero as possible.
2.) The mounting location should be as free of vibration as possible. Obviously this can be challenging with any bike or car. I personally use RAM balls and arms to mount my hardware which provides some shock absorption due to the construction of the hardware.

2022 Aprilia Tuono V4 data: GPS Speed on top, followed by IMU roll angle, the standard lean angle, then the new lean angle formula, and lastly the smoothed version of the new formula with smoothing.
Another sample, this time the 2nd graph is from a Ducati Panigale V4S internal IMU (Bike Angle) + the GPS Gyro channel, as with the Aprilia example, 3rd is the AiM RS3A math channel, 4th is the new calculation, and 5 is a smoothed version of 4. Admittedly, we did not calibrate the S2DL before testing. It appears that the Ducati ECU does not smooth the data as much or it has a higher sampling frequency.

That built-in math channel looks like this in RS3A: BIKE_ANGLE(“GPS Speed”,”GPS Gyro”)

My new math channel is ATAN(“GPS LatAcc”)*180/3.14159

Lastly, my ‘smoothed’ version of the new channel is FIR(“AS LeanAngle2”, 3) (where “AS LeanAngle2” is the name of my new math channel immediately above). The number ‘3’ can be anywhere from 1-3, with 3 being the highest level of smoothing. This is the channel I’ll be looking at on non-IMU bikes when I need to look at lean angle.

I’m satisfied with the results. It’s still not as smooth as the Aprilia’s native IMU data, though it does capture things that the bike’s IMU doesn’t show, even in the smoothed form (e.g., the exit of the Sweeper where you roll off the throttle, add lean, then start to add throttle). The nice part about the smoothing with the new math channel is that it gives you numbers more in line with what the bike shows but the smoothing eliminates much of the minute addition and subtraction of lean angle to give you a more linear plot while representing the more important bits.

That said, if you wish to use the new math channel yourself, you’ll do the following:

1.) Add a new math channel. It should look similar to below (your name and grouping are up to you). Keep in mind, this one is unsmoothed so depending on your Solo 2/DL, you may see some brief and erratic jumps in lean angle.

New lean/roll angle math channel

2.) Once you’ve added that math channel, you’ll add another which uses the first new channel as the foundation. The 2nd channel here is the smoothed output. I’ve played with levels 1-3 of smoothing and 3 still shows more granular detail than the IMU but it’s the closest to matching Aprilia’s IMU.

For the second (and final) lean/roll angle math channel, you’ll base it on the earlier one and apply the smoothing filter (FIR).

So the real goal here is partially satisfying curiosity, but having generally accurate lean angle is a useful tool for looking at whether or not a rider is adding lean angle + throttle (for gauging safety) and well as, generally, maximum lean should be pretty close to the slowest point of the corner. Having more ways to look at riders’ actions through data is a highly useful tool. Obviously, video review is the priority because if the rider isn’t hitting apexes consistently or transitions aren’t smooth, those are areas that need to be addressed first. If video isn’t available and just AiM data is, it’s a great way to check in on rider technique and his/her technical understanding.

Once again, Andrew Trevitt’s site provides much of the mathematical foundation for this, as well as AiM support, and the AiM user group.