Motion Control for DC motors and Encoders

Kind of off topic. But smart people live in this community so:

Hello… I am working on a position control system where I move a linear shaft using screws and I have encoders to determine steps.

I need to program an acceleration ramp to get to certain position.

Using the PID approach alone won’t work because it will try to get to the final position as fast as possible.

I am thinking I can do a path planner where I will make a ramp thru time and either, feed the instant position to the PID at known intervals so it will fight external forces to be at certain speed (or position?) at a given moment.

So I will know I want to love 1000 steps forward, and I will feed the speed at this instance to my PID as my goal… and have the PID determine a correction for the power needed to maintain that speed…

My worries is that PIDs depend on time to work their magic, specially the I and the D… so I don’t know how that will work…

Am I trying to reinvent the wheel? Is there a solution out there for this problem that I can’t find?

I see a lot of demos for position control but not for position and speed control.

Any clues are really welcome!