Give a Character Controller a destination

I’m trying to make the character controller move forward x amount of units each time the key is pressed. I had it working fine with Lerping between A and B but collision were proving to be difficult.

Is there a way of only moving the controller a specified max distance per move?

it will return speed and keep it in the bounds