I live in a pretty hilly area and found that it's particular difficult to zip around on the scooter on inclined or rising terrain if you have to indicate a turn.
- On left turns, it's difficult to indicate if you go downhill and have to brake.
- On right turns, it's difficult to go uphill if you need to reduce the speed, as that's only possible with the right hand without turning off the Cruise Control.
My model is a Ninebot Max G30 - so my thoughts may be only valid for this model, as others might have other brake/throttle arrangements.
My proposed solution:
Add a third drive mode, next to the 'speed-based-throttle' and the 'direct-power-control' - Have the throttle and the recuperate brake lever set the rate of change in "kph per second". If none of the levers are depressed, the Cruise Control will keep the current speed with recuperation and throttle - like on a Tesla.
Cruise Control could be turned on and off by depressing both levers shortly. Pulling the mechanical brake handle will also deactivate the Cruise Control.
- The workload for the driver is significantly reduced, as all the micro-adjustments for the speed are no longer necessary: If you want to slow down, just brake, if you want to speed up just use the throttle if the speed is good just let the scooter manage it.
- When turning left while driving downhill, it will be possible to give hand signals for direction changes.
- In cruise control mode, allowing the throttle and brake levers to change the set speed — at a rate equivalent to the input strength — makes driving easier. Because it does not have to be braked or accelerated to different degrees depending on the uphill or downhill gradient. The cruise control dynamically calculates how much brake/acceleration the scooter needs.
The cruise controller is basically just a PID-Controller with some form of smoothing over its actions to avoid abrupt recup/throttle operations. The input via the levers are just changing the target value at the rate analog of the depressing of the lever (e.g. 10% depressing of the throttle for example would be 1 kph per second change of the target value).