Velocity Obstacles are a way to determine collision velocities for agents.
Imagine starting with a Cartesian space where there are two agents, \(A\) and \(B\).
Now if you translate this space so that \(A\) is centered at the origin and \(B\) is at position \(x_{b}-x_{a}\).
Now if you deflate \(A\) so that it is a single point, then inflate \(B\) so it has a has a radius of \(r_{a}+r_{b}\) (because \(A\) is a point and the radius has to be increased).
By doing this you calculate the Minkowski sum. Remember the Minkowsi sum \(X \oplus Y = \{ x + y | x \in X, y \in Y \}\). So if \(X\) is the position of \(A\) (\(\{[0, 0]\}\)), and \(Y\) is the position of \(B\) (\(\{[1, 1]\}\)). Then \(X \oplus Y = \{[1, 1]\}\).
If we take that same 2d plane but change the \(X\) and \(Y\) axis and change them to velocities (by dividing everything by one second).
Now every point in this space denotes a velocity. The question now is what is the set of velocities that will lead to a collision. This set is the \(VO_{A|B}\), or the velocity obstacle of \(A\) induced by \(B\).
To find if a some velocity \(\vec{V}_{1}\) is a collision velocity then have it define a ray starting at the origin and passing through \(\vec{V}_1\). If this ray intersects the disk then it is a collision velocity. Writing the point of intersection in the form of \(\tau \vec{V}_{1}\) where \(\tau\) is some constant gives you the time til collision.
The velocity obstacle can be geometrically defined as the following:
\begin{equation} \label{eq:1} VO_{{A|B}} = \{ \vec{v} | \exists \tau \ge 0 : \tau \vec{v} \cap \in D(x_{B} -_{} x_{A}, r_{A} + r_{B}) \ne \emptyset\} \end{equation}
In English this means that the velocity obstacle of A induced by B is the set of all velocities such that there exists a constant \(\tau \ge 0\) such that \(\tau \vec{v}\) is within the disk centered at \(x_{B}-x_{A}\) with radius \(r_{A}+r_{B}\).
This definition gives a cone with its apex at the origin and its sides running tangent to the disk.
A time horizon Velocity Obstacle is a \(VO\) that describes velocities that will lead to a collision between time \(0\) and some time \(\tau_{{H}}\). This is useful if you don’t care about collisions that will happen far in the future.
Given two agents, \(A\) and \(B\), the velocity obstacle \(VO^{\tau_{H}}_{A|B}\) (read: the velocity obstacle of \(A\) induced by \(B\) for time horizon \(\tau_{H}\)) is the set of all velocities that \(A\) can take that will lead to a collision between \(A\) and \(B\) at some moment within the next \(\tau_{H}\) seconds. The geometric definition is as follows:
\begin{equation} \label{eq:2} VO^{\tau_{H}}_{A|B} = \{ v | \exists \tau \in [0, \tau_{H}]: \tau V \cap \in D(x_{B} - X_{A}, r_{A} + r_{B}) \ne \emptyset \} \end{equation}
In english this means that the velocity obstacle, \(VO\), for a time horizon \(\tau_{H}\) induced on \(A\) by \(B\) is equal to all velocities such that a \(\tau\) exists between \(0\) and \(\tau_{H}\) (inclusive) such that \(\tau V\) unioned with the disk centered at \(X_{B} - X_{A}\) with radius \(r_{A} + r_{B}\) is not empty.
Geometrically, this \(VO\) is still a cone (assuming circular agents). But this cone is truncated by a disk of radius \(\frac{r_{A} + r_{B}}{\tau_{H}}\) and centered at \(\frac{x_{A} - x_{B}}{\tau_{H}}\) compared to the \(VO\) discussed above.
GOT TO 24:40 ish