1
$\begingroup$

My problem is as following:

Suppose we have a rocket ship, which is modeled as a point mass(the mass doesn't matter, but we'll assume it's a constant $m_0$ for simplicity).

  • It can accelerate in any direction, and there's no limitation on it's angular velocity(i.e. it can change direction very quickly, but it's angle $\theta_v(t)$ must be a continuous, differentiable function over time, with $\omega_v(t)=\frac{d \theta_v}{dt}$ also continuous).

  • There is a limitation on it's angular acceleration²: $|\alpha(t)| = |\ddot{\theta}(t)| \le \alpha_{\text{max}}$.

  • Finally, the ship has unlimited fuel.

The rocket ship starts at a point $P$ with a velocity $\vec{v}_i$ and should come to a complete stop at point $O$. An optimal trajectory may be a reverse/3D curve, but for the purposes of this problem I'll assume it's contained within the Euclidean plane.

The rocket ship also can't accelerate beyond a maximum acceleration $a_{\text{max}}$.

Initial problem illustration.

So, the question is: What is the optimal trajectory for minimizing the time $T$ in the given context?


A simplification?

As I tried to solve the problem, I came to a simpler version of it, which may be of interest to actually get a finished solution.

Given the problem, the constraints are:

  1. $||\vec{a}(t)|| \leq a_{\text{max}}$
  2. $|\alpha(t)| = |\ddot{\theta}(t)| \le \alpha_{\text{max}}$
  3. $\vec{v}(0) = \vec{v}_i \neq \vec{0}$
  4. $\vec{v}(T)=\vec{0}$

We can time-reverse the problem($t' = T - t$) to get an equivalent, but simpler problem:

Starting at point $O$ (at rest), what is the optimal trajectory to reach a point $P$ with velocity $\vec{v}_f = -\vec{v}_i$?

We see immediately that, given the acceleration constraint, there is a maximum radius that can be reached "optimally", that is, without having to accelerate backwards and then forwards(which would result in a sort of "spiral" trajectory). That radius can be calculated by Torricelli's formula:

$v_f^2 = v_0^2 + 2 a \Delta x$

Therefore:

$v_f^2 = 2 a_{\text{max}} R_{\text{max}} \implies R_{\text{max}} = \frac{v_f^2}{2 a_{\text{max}}}$

Let's assume that the given problem satisfies this "optimality constraint", that is, $\text{dist}(P, O) < R_{\text{max}}$.

Here's a simple illustration of this subset of the problem. ³

We can simplify the problem even further, by defining an appropriate orthonormal coordinate system in which the origin is $O$, $P$ is in the first quadrant and the $x$ axis is parallel to $\vec{v}_f$. Here's the further simplified illustration.

Now, given the further simplified problem, and assuming that the "optimality constraint" above actually reduces the problem to the first quadrant(i.e. there's no point in going backwards in the $x$ direction)¹, we know that the ship must always accelerate forwards. Also, because we're optimizing the time(and there's an indefinite amount of fuel), there's no point in having an acceleration that has norm less than $a_{\text{max}}$. So, from now on, I'll consider $||\vec{a}(t)|| = a_{\text{max}}$ for all $t$.

Therefore, the acceleration $\vec{a}(t)$ is such that:

$\begin{cases} a_x(t) = a_{\text{max}} \cos(\theta(t)) \\ a_y(t) = a_{\text{max}} \sin(\theta(t)) \end{cases} $

In which $\theta$ is bounded as $\theta(t) \in [-\frac{\pi}{2}, \frac{\pi}{2}]$. Here's an illustration

From Newton's laws of motion, we get:

$\begin{cases} x: \displaystyle \int_0^T {a_{\text{max}} \cos(\theta(t))\ } dt = v_x |_0^T = v_f \\ y: \displaystyle \int_0^T {a_{\text{max}} \sin(\theta(t))\ } dt = v_y |_0^T = 0 \end{cases} $

Which gets us:

$\begin{cases} x: \displaystyle \int_0^T {\cos(\theta(t))\ } dt = \frac{v_f}{a_{\text{max}}} \\ y: \displaystyle \int_0^T {\sin(\theta(t))\ } dt = 0 \end{cases} $

After adding the linear combination of the equations $1 \cdot x + i \cdot y$ and applying Euler's formula, we get:

$\displaystyle \int_0^T {e^{i \theta(t)} \ } dt = \frac{v_f}{a_{\text{max}}}$

As there's no "chain rule" for integrals, this problem is impossible(?) to solve in general. But, because we have the constraint of minimizing the time $T$, and we also have the constraint for the thrusters' angular acceleration, there might be a way of solving this, though not analytically.

We now turn our attention to the velocity vector $\vec{v}(t)$, which has the following constraints:

  • $v_x(0) = v_y(0) = 0$
  • $v_x(T) = v_f$ and $v_y(T) = 0$

Now for the displacement $(\Delta x, \Delta y)$, we infer the following constraints:

$\begin{cases} x: \displaystyle \int_0^T {v_x(t)\ } dt = \Delta x \\ y: \displaystyle \int_0^T {v_y(t)\ } dt = \Delta y \end{cases} $

Given all these constraints and simplifications, what's the optimal function $\theta(t)$ for the thrusters' angular acceleration?


Footnotes:

¹: I couldn't come up with a proper proof for this claim, though.

²: Note that this isn't actually the proper angular acceleration(i.e. the change in the direction/angle of linear velocity). This is the angular acceleration of the direction to which the thrusters are pointing, which can be — and often is — different from the direction of the velocity vector. For clarity, whenever I mention the angular quantities involving the linear velocity of the ship, I'll use the $v$ subscript(e.g. $\theta_v(t)$). Also, the limitation on the angular acceleration $\alpha_v(t)$ is dependent on the thrusters' maximum [linear] acceleration, current velocity, and bounded by the thrusters' angular acceleration. The thrusters' maximum acceleration can be decomposed in tangential and normal components: $\vec{a}(t) = \vec{a}_T(t) + \vec{a}_N(t)$. Therefore $||\vec{a}_T(t)||^2 + ||\vec{a}_N(t)||^2 \le a_{\text{max}}^2$. What matters for changing the velocity vector's direction is the normal component.

³: From now on, I'll use $t$ instead of the (proper) $t'$, just because it's easier.

⁴: Incidentally, because the acceleration provided by the thrusters are in the same direction as the ship is pointing, it's often the case that $\theta(t)$ is the angle that $\vec{a}(t)$ makes with the $x$ axis(except when the ship's thrusters are deactivated, in which case $\vec{a}(t)= \vec{0}$).

$\endgroup$

0

You must log in to answer this question.