Consider a simple formulation of rocket landing where the rocket state \(x(t)\) is represented by velocity of the robot \(\dot{x}(t)\), \(\dot{y}(t)\), and angular velocity \(\dot{\theta}(t)\) followed by robot's coordinates \(x(t)\) and \(y(t)\), and orientation \(\theta(t)\), i.e., \[ x(t) = [\dot{x}(t), \dot{y}(t), \dot{\theta}(t), x(t), y(t), \theta(t)]^T, \] where \(t\) specifies time. The control input \(u(t)\) of the robot includes angular velocity of each wheel of the robot \(\omega_1(t)\), \(\omega_2(t)\), \(\omega_3(t)\), and \(\omega_4(t)\).
The optimization problem is now formulated as:
\[ \min_w ||x(T)||^2 \] \[ \dot{x}(t) = \frac{r_{wheel}}{2} \Big(-\sin(\theta + \pi/4) \omega_1(t) - \sin(\theta + 3\pi/4) \omega_2(t) - \sin(\theta + 5\pi/4) \omega_3(t) - \sin(\theta + 7\pi/4) \omega_4(t) \Big), \] \[ \dot{y}(t) = \frac{r_{wheel}}{2} \Big(\cos(\theta + \pi/4) \omega_1(t) + \cos(\theta + 3\pi/4) \omega_2(t) + \cos(\theta + 5\pi/4) \omega_3(t) + \cos(\theta + 7\pi/4) \omega_4(t) \Big), \] \[ \dot{\theta}(t) = \frac{r_{wheel}}{2} \Big(\frac{1}{2r_{Robot}} \omega_1(t) + \frac{1}{2r_{Robot}} \omega_2(t) + \frac{1}{2r_{Robot}} \omega_3(t) + \frac{1}{2r_{Robot}} \omega_4(t) \Big), \] \[ x(t+1) = x(t) + \dot{x}(t) \Delta t, \] \[ y(t+1) = y(t) + \dot{y}(t) \Delta t, \] \[ \theta(t+1) = \theta(t) + \dot{\theta}(t) \Delta t, \] \[ u(t) = \pi_w(x(t)), \forall t = 1, \dots, T-1. \]While this problem is constrained, it is easy to see that the objective function can be expressed as a function of \(x(T-1)\) and \(u(T-1)\), where \(x(T-1)\) is a function of \(x(T-2)\) and \(u(T-2)\), and so on. Thus it is essentially an unconstrained problem with respect to \(w\).
This will be the navigation of the Omni Wheel Controller optimized using Gradient Based Algorithm using Neural Network.
The Model Predictive Control (MPC) framework is utilized for optimization by solving the following problem:
\[ \min_{u(1), \dots, u(T-1)} \sum_{t=1}^{T-1} ||x(t)||^2 + ||u(t)||^2, \] subject to the same dynamics as described earlier. The MPC controller predicts the future behavior of the robot and computes the optimal control inputs \(u(t)\) for a finite horizon \(T\).
The MPC optimization problem can be represented in matrix form as:
\[ \begin{aligned} &\min \quad J = \mathbf{x}^T \mathbf{Q} \mathbf{x} + \mathbf{u}^T \mathbf{R} \mathbf{u}, \\ &\text{subject to:} \\ &\mathbf{x}_{k+1} = \mathbf{A} \mathbf{x}_k + \mathbf{B} \mathbf{u}_k, \\ &\mathbf{u}_{min} \leq \mathbf{u}_k \leq \mathbf{u}_{max}, \\ &\mathbf{x}_{min} \leq \mathbf{x}_k \leq \mathbf{x}_{max}, \end{aligned} \]
Here, \(\mathbf{A}\) and \(\mathbf{B}\) represent the system dynamics matrices, \(\mathbf{Q}\) and \(\mathbf{R}\) are weighting matrices for the state and control input, respectively, and \(\mathbf{u}_{min}, \mathbf{u}_{max}, \mathbf{x}_{min}, \mathbf{x}_{max}\) denote the constraints on inputs and states.
This approach ensures stability and optimality for the robot's navigation.