So I'm trying to work out how to intercept a moving rotating target. The key is that that I must match both $x$, $y$ coordinates and the rotation of the target.
I'm a little confused, as this must be a very common problem in robotics/control theory but I can't find any relevant material so either it's non-trivial or I'm not using the right terminology in my searches. There's lots of solutions for matching positions, but matching rotation as well is much harder. I'm looking for pointers at either someone who has solved this before, or where to start in the literature.
The setup
More formally the equations governing your behaviour are:
- $s(t)$ is your speed at time $t$
- $\omega(t)$ is your rotational speed at time $t$
- $\phi(t)$ is your rotation at time $t$. Therefore $\frac{d\phi(t)}{dt} = \omega(t)$
- $x(t)$ is your $x$ position at time $t$. Therefore $\frac{dx}{dt} = s(t)\cos(\phi(t))$
- $y(t)$ is your $y$ position at time $t$. Therefore $\frac{dy}{dt} = s(t)\sin(\phi(t))$.
We make the simplifying assumptions that standard acceleration and angular acceleration is instantaneous.
The equations governing the target position are:
- $\phi_t(t)$ is the rotation of the target at time $t$
- $x_t(t)$ is the $x$ position of the target at time $t$
- $y_t(t)$ is the $y$ position of the target at time $t$
These functions are all known, so derivatives etc. can be calculated.
The constraints are as follows:
- $x(0) = x_0$
- $y(0) = y_0$
- $\phi(0) = \phi_0$
- $s(t) \leq s_{max}$
- $\omega(t) \leq \omega_{max}$
The problem
Decide if there exist functions $w(t)$ and $s(t)$ such that there exists an intercept time $t_i$ such that $x(t_i) = x_t(t_i)$, $y(t_i) = y_t(t_i)$ and $\phi(t_i) = \phi_t(t_i)$ all hold. If there are such functions return those that minimise $t_i$.
Thoughts
I'd be interested in either how to go about obtaining either approximations or an analytic solution, or how to create some sort of iterative feedback controller that solved the problem. I'd also be interested in any easier special cases of target movement (moving in a straight line, circling a point etc.). I assume this must be solved somewhere as we definitely have drones that fly in formations!