The Food Winch - Part III
Optimal Speed Profile
For this part of the project, I wanted to start looking into a few aspects to consider what the optimal speed profile would look like under idea conditions. There are quite a few neat ways to find this optimized trajectory, given the constraints of the problem. In this post I’ll focus on a few which are a bit more straight forward and while not strictly thorough, hopefully intuitive. Towards the end I’ll give a bit more view on how I plan to use the insights from this portion of the project in later parts.
Fastest Time - Limited Deceleration
As I mentioned in a previous post, the only way to slow the bucket is via gravity. So any attempt to stop the winch faster than 9.81 m/s^2 will result in some overshoot of the bucket and some bouncing and jostling. Given this and the total distance to be covered, we can calculate the fastest possible time assuming that the bucket is instantaneously accelerated to the peak speed which we could reduce to 0 m/s over a distance of the balcony height.
In the image above, we can see what the speed profile must look like generally, if we could instantaneously accelerate the bucket to some peak speed and then reduce that speed to zero over time, hitting 0 m/s exactly when the bucket is at the balcony. Conveniently for us, the integral velocity dt is equal to the distance traveled, which for this problem is fixed. Also, the image above is a right triangle, so we already know the area and don’t need an integral. We also know the slope of the line, which represents our deceleration limit.
Above I’ve included a simple derivation to determine the minimum time for raising the bucket and the associated maximum speed. These numbers will help us bound some of the expectations. Thankfully we see here that the best time of 1.01 seconds gives us quite some margin to reach the original design goal of lifting the bucket in < 5 seconds. The peak speed will be interesting to keep in mind for the next section.
Practical Limits
Unfortunately, in my search of the internet and cheaply imported, hobby grade motors, I’ve yet to find a motor with infinite power. So I’ll have to settle with the fact that my bucket can’t instantaneously change to the peak speed determined above. For this section, we can assume that the combination of gear train and motor selection will have some acceleration capability a1. We already discussed the deceleration limit in the previous section. So assuming the acceleration capability, what should the peak speed be?
The diagram above shows a more realistic speed profile. Without doing a formal proof, we can make an intuitive one that this is an optimal speed profile vs. say accelerating to some speed, holding that speed for a period of time, and then decelerating. Assuming the representation from the previous section is in fact the best possible, then the faster we can accelerate, the closer we can get to that optimum. Any speed holding in the middle section will only contribute more to our overall time. A very simple proof by example is in motor sports. Generally speaking, drivers are either accelerating or braking and don’t spend much time hum-drumming in cruise control. I think for now we’re close enough, which is typically great for both horse shoes and hand grenades.
So now that we have a bit better idea of what this should look like, give a certain acceleration, what speed should we accelerate to? We know how to get the area of the right triangles, we know they sum up to the balcony height, we know the slope of the decelerating portion is -9.81 and we assume some slope for the accelerating portion. Given this, we can derive what the peak speed should be.
We can plot the expression above and we find something very curious, though not unsurprising. Observing the expression above and considering the limit as a goes to infinity, we can see that we’re going to approach some sub-infinite maximal value. Let’s plot it and take a look.
That limit appears to be the 9.9 m/s^2 we found earlier, essentially confirming the assumptions from before that there is an upper limit on performance. We also see that there are diminishing returns as we increase the acceleration performance.
While this is all well and good and can help us both for sizing components and in some parts of the controller design, this whole post has lead you dear reader astray. As mentioned earlier, I’ve failed to acquire an motor with infinite power. Specifically as the motor speed increases, the torque output will decrease. This is unfortunate because this whole section has assumed a fixed acceleration value. Looks like we have more work ahead!