Let's kill Booster


the idea behind booster is to increase the power once you exceed a certain tilt angle. Both for acceleration and for braking. We have settings that allow you to configure it independently.

why remove it?

the booster feature doesn’t work the way it should, somehow no matter how much booster current I configure that total current delivered remains unchanged. I can configure 70A of brake booster yet I can taildrag just as easily as I could without any booster.

why doesn't it work?

It’s not that booster currents somehow don’t get applied due to a bug in the code. The booster currents get applied just as you’d expect them to be. However, the currents coming from PID are much much smaller when booster is enabled. If you make booster big enough your PID currents can even become negative!

Now the real truth is that I don’t really know why it’s behaving this way, it’s all part of Mahony magic. Somehow the IMU compensates for any added booster amps by reducing the reported pitch angle so that PID currents get reduced and overall the total remains the same.

how will we replace it?

if you want to get a true boost in power when accelerating or braking than torquetilt is very effective. It actually gets the job done really well and I can actually measure higher currents being delivered when trying to taildrag or nosedrag and it becomes much harder to do so.

when will booster be removed?

imo the sooner the better, but I know there’ll be pushback because people like hanging on to any feature we have - even if they’re placebo… so idk when or whether it’ll actually be removed from the float package.

Meanwhile the very next version of the Float Control iOS app will have it removed in custom shaping. If you still believe you need it (you don’t!) then you can use the VESC Tool.

1 Like

If it doesn’t actually do anything, then I have no problem with it being removed.

I remember it being introduced in the Balance App, and it didn’t work as it was thought to back then. Granted, I have essentially no expertise with any of this code, so I can’t comment much. But again, if the settings do nothing, then I don’t personally see an issue with removing them.

The way boost is currently designed, I consider it to be another PID loop on top our main loop, except it only has a proportional component and it only acts in one direction. When you reach the boost angle (setpoint), more current is added according to the boost ramp and boost current which makes up our proportional factor.

I don’t see anything wrong with this, but it will only actually apply in particular situations . My math may be wrong, but if we consider our main PID loop as only a proportional loop with a high factor of say 25. The maximum continuous current I can manage from my 15s hypercore setup is about 55-65 amps. That means after only 2 degrees of tilt from our setpoint, we are almost at the maximum continuous current. So booster will have to be less than 2 to have a noticeable effect. Does not really seem worth it. A low proportional factor of 10 makes a bit more sense since we can get to 5 or 6 degrees so we can set the booster to 3 or 4 maybe, but what is the point if you can just set proportional to 20 instead?

When we consider braking, we are limited by the braking ramp rate. I think that might erase any effects from the booster but I have not tested brake boost.

The only other thing I think is worth considering before eliminating boost: Is there any effect on very high pitch differential situations? Current spikes that are higher than the max continuous current happen often but just for a few milliseconds. Does the booster contribute to these spikes so that they happen at an earlier pitch angle? Does this allow for better board stability in rough situations?

Did some testing this weekend. I find that booster is helpful in a couple situations.

When I am carving aggressively I can feel the boost engage at the apex of my carve. The boost is set to 5/1/100 so a pretty shallow pitch and aggressive reaction. When the board rolls enough it seems to engage the pitch trigger. The result is a more responsive feel as the boost pushes me through the carve without having to demand more with pitch angle. I really enjoy it but off road it can push you out of traction. I plan on developing this further as a yaw boost since I don’t think this effect is intended for regular boost.

The second effect I noticed was when pulling sharp u-turns. The boost feels like it whips me around the turn faster. Probably a similar effect to the situation above.

I’m not asserting that booster is never doing anything in any configuration. In fact in many situations you can feel a difference from booster because adding extra amps will of course have an impact.

The key is though that anything you do with booster can also be achieved by other config options. And the most important benefit that you would expect from booster is that it would prevent taildrags if configured accordingly yet booster fails miserably at achieving that.

If we want to have some additional functionality that you cannot achieve with all the other config options then let’s talk about that, but booster is just not working very well as intended.

Forward booster is useful in the situations I mentioned because it adds amps without changing the setpoint. Every other tool we have changes the setpoint. I personally don’t like automatic setpoint changes because it affects the feel of the board. I’m using remote tilt and my sticky tilt function to minimize automatic setpoint changes and I find it captures the feel and capability that I need. That is why I will develop a yaw boost as opposed to using turn tilt. The two effects feel very different to me.

Concerning tail drags, that is interesting but I have not investigated the braking functions in general. The braking feels good to me. Very linear and it acts harder when I press the tail faster. I avoid tail drags by pressing harder and faster. If I ease into it, it will drag.

It seems to me that if brake boost is doing nothing we might investigate an alternative way to affect braking. One idea is a modified PID for just braking. Another thought is to change the brake amp limiting is some way.

Re: why doesn’t it work?

I’ve always thought the low kp mahony slop is just preventing the booster angle from ever being triggered, with a high kp you can be nose on the floor with a reported angle of like 3 degrees, so a booster start angle of 8 is just impossible to really feel. With a normal mahony kp booster works and feels just as expected. Its hard to have any meaningful angle based 2 stage power delivery when your angles are all made up and sloppy.

The float package uses 0.2 Mahony for booster and roll angle, so this is not an issue anymore. I’m not talking about booster not kicking in - I’m saying that the up to 60A booster I’ve tried show up in the logs, but get partially negated by opposing currents coming from PID

1 Like

Oh, yeah. That makes sense. Perfect excuse to delete it from the balance package too. Maybe ill add a proper 2 stage PID or something instead.

1 Like