It makes sense to work from, how many frames to take for each step? That depends on the type of character and if it is doing a slow walk or fast walk, long stride or short stride, and the frame rate of course.
Actually, for me though, I work from, how far do I move the foot each frame so it looks like the speed I want? But that seems to end up with 12 or 13 frames per step pretty consistently (one foot lifting off, swinging forward, and landing on the ground) for most puppets. (That is at 24 or 25 fps.) The is a little quicker than I walk myself, but it looks ok with the puppet characters.
I pre-drill tie down holes, so I work out how long the stride will be by posing the puppet to see how far looks comfortable. Doesn't always work perfectly and it helps to have some spare holes for when the puppet tries to take over and not follow the plan, or sometimes you have to drill an extra hole mid-shot. But you can sort of see how big each step should be.
In one film, I was fitting the animation to existing music, and the puppet had to walk in time to the beat. The beat gave me 16 frames per step, which is probably closer to my own walk, but needed smaller moves than I am used to and I had to adjust a few moves back a bit before capturing the frame.
With described approach, the character would reach the goal in time - but wherever it will be speedwalking or in slowmotion, has to be seen. You should try to measure your own pace as you act out the scene. You could use a stopwatch, video reference, or (my favourite) motion timer :)
This is a old Android program. Find a old smartphone to install it on, if you ain't using Android phone to begin with.Shouldn't be hard. It's a real nice tool unlike anything else I have tried.
Try starting with the length of the character's stride. Pose your character in the "contact" pose and measure the distance between the front toe and back toe. You will have to adjust the position for the tie downs, but this gives you the exact distance the puppet should travel for each step. Then you will divide for timing and spacing.