# Brachistochrone problem with a limited slope angle and height

I'm trying to find the path of least time for a hollow sphere (a ping-pong ball) to roll from one point to another through an curve of interpolated points. The main problem here is that the ball isn't allowed to slide, only roll, which limits our steepest angle to about 40°. Although it isn't hard to look up and understand a solution for a sliding object with no height restriction, I found the problem to be significantly more difficult when the slope is limited, and there's a table in the way of dipping under point B.

Also, how does rotation/inertia affect the problem?

Here's a figure to help understand what I mean. The idea is for point A to be all the way up, and point B to be at ground-height. Thanks in advance.

• What are "point A and B" here? – JMac Sep 14 '17 at 19:20
• If you like this question you may also enjoy reading this Phys.SE post. – Qmechanic Sep 14 '17 at 19:43
• @JMac Point A is the leftmost point on the curve, raised all the way up to a height h_1, and point B is the rightmost point, at, h = 0. There are 6 points inbetween that can be adjusted as needed in order to optimize the travel time. – Marcel Sep 14 '17 at 20:27

I will discuss here the difference between the pointwise controll of the curve produced by your setup, and the continuous control of the baristocrone problem, and ignore the difference between 'rolling' and 'sliding', that is a seperate issue. This answer also discusses how to limit the slope and vertical extent of the solution. I don't solve your problem, only outline the approach I would take.

The fundamental difference between pointwise control and continuous control is the function space that is being acted on.

Let us assume that we are using a horizontal spatial coordinate $x$ with $a<x<b$, object travels from $a$ to $b$. In the standard baristocrone problem we consider the 'height' function of the surface to 'slide' on, $h(x)$, to be a continuously differentiable function (except at the endpoints), with $h(a)=0$, $h(b) = H<0$, $h(x) \leq 0$. We then define some functional, say $T[h]$, on this function space, which outputs the time taken to slide from $x=a$ to $x=b$. The final solution is found by minimising $T$ over the space of allowable $h$.

The difference you have is that you reduce the dimensionality of your function space to however many modifying points you have. This reduces your control, but makes it significantly easier to impose restrictions like limited slope and vertical extent. Given $n$ adjustable equally spaced points at $$x_i = a + i\frac{b-a}{n+1} \quad i \in \{1,2,...,n\}$$ and two fixed endpoints at $x_0=a$, $x_{n+1} =b$, we define functions $h(x;h_1,h_2,...,h_n)$ such that $$h(x_i;h_1,h_2,...,h_n) = h_i \quad i \in \{1,2,...,n\}$$ $$h(a;h_1,h_2,...,h_n) = 0$$ $$h(b;h_1,h_2,...,h_n) = H$$ so that the height must take a given, specified value at the adjustable points, and the correct endpoint values at the ends. We need to now decide how to construct the values of the height function between the adjustable points. The simplest way is to decide that the function is linear between any 2 adjustable/end points, which will give a reasonable approximation. However, your probably using some kind of 'beam' in which case use, for example, this. Or could use higher order polynomials with continuity of derivatives.

If we wish to limit the slope, then this corresponds to a restriction $$|h_{i+1} - h_{i}| \leq \Delta h$$ and if we wish to limit the vertical extent then this corresponds to $$h_i \geq h_{min}$$ at least for a piecewise linear $h$, for a more complicated construction this will be harder.

Finally, we need to find the travel time for a particular $h$. For a particular construction the time taken can only be a function of the adjustable heights, thus $$T[h]=t(h_1,h_2,...,h_n)$$ to find the optimal values of $h_i$, minimise $t$ over the permissable values. Finding the function $t$ corresponds to calculating the time to move between any two adjustable points, and finding the velocity at which it passes over the next adjustable point, so that the time taken over the next section can be calculated. Once you know the function and restrictions, this may possibly be solvable analytically, but most likely you will need some numerical procedure, say solve in matlab.

If you don't actually have a finite number of adjustable points, this procedure can still be used, since the solution as the number of points tends to infinity will be the correct solution, so solve numerically with a hundred or so adjustable points.