Ce sujet (ou TP-projet) est à rendre (voir la date sur moodle et les modalités du rendu) et sera évalué pour faire partie de la note finale de la matière Contrôle Optimal.
Ce sujet (ou TP-projet) est à rendre (voir la date sur moodle et les modalités du rendu) et sera évalué pour faire partie de la note finale de la matière Contrôle Optimal.
----
----
On considère le problème du transfert d'un satellite d'une orbite initiale à l'orbite géostationnaire à temps minimal. Ce problème s'écrit comme un problème de contrôle optimal sous la forme
On considère le problème du transfert d'un satellite d'une orbite initiale à l'orbite géostationnaire à temps minimal. Ce problème s'écrit comme un problème de contrôle optimal sous la forme
En considérant les conditions aux limites, la condition finale sur le pseudo-hamiltonien et la condition de transversalité, la fonction de tir simple est donnée par
En considérant les conditions aux limites, la condition finale sur le pseudo-hamiltonien et la condition de transversalité, la fonction de tir simple est donnée par
\begin{equation*}
\begin{equation*}
\begin{array}{rlll}
\begin{array}{rlll}
S \colon & \mathbb{R}^5 & \longrightarrow & \mathbb{R}^5 \\
S \colon & \mathbb{R}^5 & \longrightarrow & \mathbb{R}^5 \\
& (p_0, t_f) & \longmapsto &
& (p_0, t_f) & \longmapsto &
S(p_0, t_f) := \begin{pmatrix}
S(p_0, t_f) := \begin{pmatrix}
c(x(t_f, x_0, p_0)) \\[0.5em]
c(x(t_f, x_0, p_0)) \\[0.5em]
\Phi(z(t_f, x_0, p_0)) \\[0.5em]
\Phi(z(t_f, x_0, p_0)) \\[0.5em]
H(z(t_f, x_0, p_0), u(z(t_f, x_0, p_0))) - 1
H(z(t_f, x_0, p_0), u(z(t_f, x_0, p_0))) - 1
\end{pmatrix}
\end{pmatrix}
\end{array}
\end{array}
\end{equation*}
\end{equation*}
où $z(t_f, x_0, p_0)$ est la solution au temps de $t_f$ du pseudo système hamiltonien bouclé par
où $z(t_f, x_0, p_0)$ est la solution au temps de $t_f$ du pseudo système hamiltonien bouclé par
le contrôle maximisant, partant au temps $t_0$ du point $(x_0, p_0)$. On rappelle que l'on note
le contrôle maximisant, partant au temps $t_0$ du point $(x_0, p_0)$. On rappelle que l'on note
$z=(x, p)$.
$z=(x, p)$.
%% Cell type:code id: tags:
%% Cell type:code id: tags:
``` julia
``` julia
#####
#####
##### A COMPLETER
##### A COMPLETER
# Fonction de tir
# Fonction de tir
function shoot(p0,tf)
function shoot(p0,tf)
s=zeros(eltype(p0),5)
s=zeros(eltype(p0),5)
...
...
returns
returns
end;
end;
```
```
%% Cell type:code id: tags:
%% Cell type:code id: tags:
``` julia
``` julia
# Itéré initial
# Itéré initial
y_guess=[1.0323e-4,4.915e-5,3.568e-4,-1.554e-4,13.4]# pour F_max = 100N
y_guess=[1.0323e-4,4.915e-5,3.568e-4,-1.554e-4,13.4]# pour F_max = 100N