Nonlinear system state equation:$$\dot X(t)=f(X(t),U9t),t)$$ There is an initial time $t_0$, initial state $X(t_0)$, termination time $t_f$, termination state $X(t_f)$, termination state constraint equation:$$X(t_f)\in g(X(t_f),t_f)=0$$
Introducing performance indicator functionals:$J(x,u,t)=S(X(t_f),t_f)+\int_{t_0}^{t_f}L(x,u,t)dt$
Introducing system state constraint Lagrangian multiplier:$\lambda(t)$
Introducing a termination state constraint Lagrangian multiplier:$\mu$
So, there is a new functional:$J(x,u,t)=S(X(t_f),t_f)+\mu g(X(t_f),t_f)+\int_{t_0}^{t_f}(L(x,u,t)+\lambda(t) (f(x,u,t)-\dot X(t))dt$
if $$\begin{cases}\bar S(X(t_f),t_f)=S(X(t_f),t_f)+\mu g(X(t_f),t_f)\\ H(x,u,t)=L(x,u,t)+\lambda(t) (f(x,u,t)-\dot X(t))\end{cases}$$
Thus, there is a performance function:$$J(x,u,t)=\bar S(X(t_f),t_f)+\lambda^T(t_0)X(t_0)-\lambda^T(t_f)X(t_f)+\int_{t_0}^{t_f}(H(x,u,t)+\dot \lambda(t)X(t))dt$$
Therefore, the first order variation:
$$\delta J(x,u,t)=(\frac{\partial \bar S^T}{\partial X}-\lambda^T)(\delta X+\dot X\delta t_f)\mid_{t_f}+(\frac{\partial \bar S^T}{\partial t_f}+H)\delta t_f\mid_{t_f}+\int_{t_0}^{t_f}[(\frac{\partial H}{\partial X}+\dot \lambda^T)\delta X+\frac{\partial H}{\partial U}\delta U]dt=0$$
Therefore, there is a canonical equation:$\dot X=\frac{\partial H}{\partial \lambda}=f(x,u,t)\tag{1}$
$\dot \lambda(t)=-\frac{\partial H}{\partial X}=-\frac{\partial L}{\partial X}-\frac{\partial f^T}{\partial X}\lambda\tag{2}$
Boundary conditions:$X(t_0)=X_0;g(X(t_f),t_f)=0\tag{3}$
$\lambda(t_f)=\frac{\partial \bar S(X(t_f),t_f)}{\partial X(t_f)}\tag{4}$
$H(t_f)=-\frac{\partial \bar S}{\partial t_f}\mid_{t_f}\tag{5}$
Extreme condition:$\frac{\partial H(x,u,\lambda,t)}{\partial U}=0\tag{6}$