This is a continuation of a previous post, to demonstrate how to solve the inverse problem of determining user input from trajectories.
Say we know that, at a particular instant in time, a user was controlling a vehicle in the air (without being hit by another car, or air dodging). Is it possible to use information about the car's dynamic state to determine what inputs the users issued?
Let's take a look: from the previous post, we have the following update procedure for the angular velocity:
If we knew what the beginning and end step values of
furthermore, by using our expression for
Thankfully, they are decoupled, so they can be solved individually:
If the norm of angular velocity exceeds 5.5, Rocket League scales it back down, until it is 5.5. How does this affect our ability to guess the inputs of a trajectory?
In short, this means there will be more than one net torque
These examples show how well the recovered user input (dashed lines) compares to the exact values (solid lines). The trace in red is the norm of the angular velocity-- note that when it hits 5.5, the inputs do not coincide. However, it is the case that the exact inputs and the recovered would still have the same effect on the car.
An example where angular velocities do not clip shows almost exact agreement: