Time-Discretize a Linear Quadratic OCP (Bolza Function)
I'm trying to formulate an optimal control problem based off of this given Minimum-Time Cost Function:
$$J(t_f)=frac{1}{2}[x(t_f)-x_{des}(t_f)]^TP_f[x(t_f)-x_{des}(t_f)] + frac{1}{2}int_{t_0}^{t_f}(1+[x^t(t)Qx(t)+u^T(t)Ru(t)])dt$$
$$ text{ where } x=begin{bmatrix}V\gamma\h\rend{bmatrix}P_finmathbb{R}^{4x4}, Qinmathbb{R}^{4x4}, Q_xinmathbb{R}^{4x4}, R=begin{bmatrix}1end{bmatrix}text{ and } u=theta=text{Pitch angle}$$
I would like to minimize the time for a small RC aircraft to go from takeoff at time $t_0$ to cruise in the shortest amount of time $t_f$. I think that there are basically 2 approaches to solving this.
- I can use the ACADO Matlab toolkit to solve the function in this form. I've tried doing this and I cannot seem to understand ACADO well enough to solve it.
- First time-discretize the cost function to put the function in a form which can be solved using another Matlab toolkit such as YALMIP.
Seeing as I've failed on approach #1, I would like to try approach #2. However, I do not understand how to time-discretize this function. I've tried looking through textbooks for how to solve these problems, but I cannot find any text that gives a method to discretize a function like this into a form which can be solved with a solver.
I have initial and final constraints, and have the state space model, but do not really know how to proceed from here
$$dot{x}=begin{bmatrix}dot{V}=frac{1}{m}(Tcos(u-gamma)-D-mgsin(gamma)\dot{gamma}=frac{1}{mV}(Tsin(u-gamma)+L-mgcos(gamma)\dot{h}=Vsin(gamma)\dot{r}=Vcos(gamma)end{bmatrix}$$
I've read that I may need to solve for the Hamiltonian, but I don't understand why, and still would not understand how to proceed solving the problem in matlab once I would solve for it.
control-theory optimal-control
|
show 4 more comments
I'm trying to formulate an optimal control problem based off of this given Minimum-Time Cost Function:
$$J(t_f)=frac{1}{2}[x(t_f)-x_{des}(t_f)]^TP_f[x(t_f)-x_{des}(t_f)] + frac{1}{2}int_{t_0}^{t_f}(1+[x^t(t)Qx(t)+u^T(t)Ru(t)])dt$$
$$ text{ where } x=begin{bmatrix}V\gamma\h\rend{bmatrix}P_finmathbb{R}^{4x4}, Qinmathbb{R}^{4x4}, Q_xinmathbb{R}^{4x4}, R=begin{bmatrix}1end{bmatrix}text{ and } u=theta=text{Pitch angle}$$
I would like to minimize the time for a small RC aircraft to go from takeoff at time $t_0$ to cruise in the shortest amount of time $t_f$. I think that there are basically 2 approaches to solving this.
- I can use the ACADO Matlab toolkit to solve the function in this form. I've tried doing this and I cannot seem to understand ACADO well enough to solve it.
- First time-discretize the cost function to put the function in a form which can be solved using another Matlab toolkit such as YALMIP.
Seeing as I've failed on approach #1, I would like to try approach #2. However, I do not understand how to time-discretize this function. I've tried looking through textbooks for how to solve these problems, but I cannot find any text that gives a method to discretize a function like this into a form which can be solved with a solver.
I have initial and final constraints, and have the state space model, but do not really know how to proceed from here
$$dot{x}=begin{bmatrix}dot{V}=frac{1}{m}(Tcos(u-gamma)-D-mgsin(gamma)\dot{gamma}=frac{1}{mV}(Tsin(u-gamma)+L-mgcos(gamma)\dot{h}=Vsin(gamma)\dot{r}=Vcos(gamma)end{bmatrix}$$
I've read that I may need to solve for the Hamiltonian, but I don't understand why, and still would not understand how to proceed solving the problem in matlab once I would solve for it.
control-theory optimal-control
I assume $u=T$?
– Kwin van der Veen
Nov 21 '18 at 18:59
u is the pitch angle $theta$
– RocketSocks22
Nov 21 '18 at 19:06
So $dot{x}$ is not a function of $u$?
– Kwin van der Veen
Nov 21 '18 at 19:12
I suppose it could be in that $theta = gamma + alpha$ where it can reasonably be assumed that $alpha$ will be constant for this problem. Doing so would simply replace my state variable $gamma$ though, so perhaps this is not the best way to go about this problem? I currently have my thrust modeled as $T=0.5*rho V^2SC_D$ where $C_D$ is a function of $alpha$
– RocketSocks22
Nov 21 '18 at 19:22
^Actually disregard that comment. I updated my problem statement, replacing $alpha$ with $theta-gamma$ to better see the relation
– RocketSocks22
Nov 21 '18 at 19:32
|
show 4 more comments
I'm trying to formulate an optimal control problem based off of this given Minimum-Time Cost Function:
$$J(t_f)=frac{1}{2}[x(t_f)-x_{des}(t_f)]^TP_f[x(t_f)-x_{des}(t_f)] + frac{1}{2}int_{t_0}^{t_f}(1+[x^t(t)Qx(t)+u^T(t)Ru(t)])dt$$
$$ text{ where } x=begin{bmatrix}V\gamma\h\rend{bmatrix}P_finmathbb{R}^{4x4}, Qinmathbb{R}^{4x4}, Q_xinmathbb{R}^{4x4}, R=begin{bmatrix}1end{bmatrix}text{ and } u=theta=text{Pitch angle}$$
I would like to minimize the time for a small RC aircraft to go from takeoff at time $t_0$ to cruise in the shortest amount of time $t_f$. I think that there are basically 2 approaches to solving this.
- I can use the ACADO Matlab toolkit to solve the function in this form. I've tried doing this and I cannot seem to understand ACADO well enough to solve it.
- First time-discretize the cost function to put the function in a form which can be solved using another Matlab toolkit such as YALMIP.
Seeing as I've failed on approach #1, I would like to try approach #2. However, I do not understand how to time-discretize this function. I've tried looking through textbooks for how to solve these problems, but I cannot find any text that gives a method to discretize a function like this into a form which can be solved with a solver.
I have initial and final constraints, and have the state space model, but do not really know how to proceed from here
$$dot{x}=begin{bmatrix}dot{V}=frac{1}{m}(Tcos(u-gamma)-D-mgsin(gamma)\dot{gamma}=frac{1}{mV}(Tsin(u-gamma)+L-mgcos(gamma)\dot{h}=Vsin(gamma)\dot{r}=Vcos(gamma)end{bmatrix}$$
I've read that I may need to solve for the Hamiltonian, but I don't understand why, and still would not understand how to proceed solving the problem in matlab once I would solve for it.
control-theory optimal-control
I'm trying to formulate an optimal control problem based off of this given Minimum-Time Cost Function:
$$J(t_f)=frac{1}{2}[x(t_f)-x_{des}(t_f)]^TP_f[x(t_f)-x_{des}(t_f)] + frac{1}{2}int_{t_0}^{t_f}(1+[x^t(t)Qx(t)+u^T(t)Ru(t)])dt$$
$$ text{ where } x=begin{bmatrix}V\gamma\h\rend{bmatrix}P_finmathbb{R}^{4x4}, Qinmathbb{R}^{4x4}, Q_xinmathbb{R}^{4x4}, R=begin{bmatrix}1end{bmatrix}text{ and } u=theta=text{Pitch angle}$$
I would like to minimize the time for a small RC aircraft to go from takeoff at time $t_0$ to cruise in the shortest amount of time $t_f$. I think that there are basically 2 approaches to solving this.
- I can use the ACADO Matlab toolkit to solve the function in this form. I've tried doing this and I cannot seem to understand ACADO well enough to solve it.
- First time-discretize the cost function to put the function in a form which can be solved using another Matlab toolkit such as YALMIP.
Seeing as I've failed on approach #1, I would like to try approach #2. However, I do not understand how to time-discretize this function. I've tried looking through textbooks for how to solve these problems, but I cannot find any text that gives a method to discretize a function like this into a form which can be solved with a solver.
I have initial and final constraints, and have the state space model, but do not really know how to proceed from here
$$dot{x}=begin{bmatrix}dot{V}=frac{1}{m}(Tcos(u-gamma)-D-mgsin(gamma)\dot{gamma}=frac{1}{mV}(Tsin(u-gamma)+L-mgcos(gamma)\dot{h}=Vsin(gamma)\dot{r}=Vcos(gamma)end{bmatrix}$$
I've read that I may need to solve for the Hamiltonian, but I don't understand why, and still would not understand how to proceed solving the problem in matlab once I would solve for it.
control-theory optimal-control
control-theory optimal-control
edited Nov 21 '18 at 19:33
RocketSocks22
asked Nov 21 '18 at 18:22
RocketSocks22RocketSocks22
184
184
I assume $u=T$?
– Kwin van der Veen
Nov 21 '18 at 18:59
u is the pitch angle $theta$
– RocketSocks22
Nov 21 '18 at 19:06
So $dot{x}$ is not a function of $u$?
– Kwin van der Veen
Nov 21 '18 at 19:12
I suppose it could be in that $theta = gamma + alpha$ where it can reasonably be assumed that $alpha$ will be constant for this problem. Doing so would simply replace my state variable $gamma$ though, so perhaps this is not the best way to go about this problem? I currently have my thrust modeled as $T=0.5*rho V^2SC_D$ where $C_D$ is a function of $alpha$
– RocketSocks22
Nov 21 '18 at 19:22
^Actually disregard that comment. I updated my problem statement, replacing $alpha$ with $theta-gamma$ to better see the relation
– RocketSocks22
Nov 21 '18 at 19:32
|
show 4 more comments
I assume $u=T$?
– Kwin van der Veen
Nov 21 '18 at 18:59
u is the pitch angle $theta$
– RocketSocks22
Nov 21 '18 at 19:06
So $dot{x}$ is not a function of $u$?
– Kwin van der Veen
Nov 21 '18 at 19:12
I suppose it could be in that $theta = gamma + alpha$ where it can reasonably be assumed that $alpha$ will be constant for this problem. Doing so would simply replace my state variable $gamma$ though, so perhaps this is not the best way to go about this problem? I currently have my thrust modeled as $T=0.5*rho V^2SC_D$ where $C_D$ is a function of $alpha$
– RocketSocks22
Nov 21 '18 at 19:22
^Actually disregard that comment. I updated my problem statement, replacing $alpha$ with $theta-gamma$ to better see the relation
– RocketSocks22
Nov 21 '18 at 19:32
I assume $u=T$?
– Kwin van der Veen
Nov 21 '18 at 18:59
I assume $u=T$?
– Kwin van der Veen
Nov 21 '18 at 18:59
u is the pitch angle $theta$
– RocketSocks22
Nov 21 '18 at 19:06
u is the pitch angle $theta$
– RocketSocks22
Nov 21 '18 at 19:06
So $dot{x}$ is not a function of $u$?
– Kwin van der Veen
Nov 21 '18 at 19:12
So $dot{x}$ is not a function of $u$?
– Kwin van der Veen
Nov 21 '18 at 19:12
I suppose it could be in that $theta = gamma + alpha$ where it can reasonably be assumed that $alpha$ will be constant for this problem. Doing so would simply replace my state variable $gamma$ though, so perhaps this is not the best way to go about this problem? I currently have my thrust modeled as $T=0.5*rho V^2SC_D$ where $C_D$ is a function of $alpha$
– RocketSocks22
Nov 21 '18 at 19:22
I suppose it could be in that $theta = gamma + alpha$ where it can reasonably be assumed that $alpha$ will be constant for this problem. Doing so would simply replace my state variable $gamma$ though, so perhaps this is not the best way to go about this problem? I currently have my thrust modeled as $T=0.5*rho V^2SC_D$ where $C_D$ is a function of $alpha$
– RocketSocks22
Nov 21 '18 at 19:22
^Actually disregard that comment. I updated my problem statement, replacing $alpha$ with $theta-gamma$ to better see the relation
– RocketSocks22
Nov 21 '18 at 19:32
^Actually disregard that comment. I updated my problem statement, replacing $alpha$ with $theta-gamma$ to better see the relation
– RocketSocks22
Nov 21 '18 at 19:32
|
show 4 more comments
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function () {
return StackExchange.using("mathjaxEditing", function () {
StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
});
});
}, "mathjax-editing");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "69"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
noCode: true, onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f3008130%2ftime-discretize-a-linear-quadratic-ocp-bolza-function%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Mathematics Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
Use MathJax to format equations. MathJax reference.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmath.stackexchange.com%2fquestions%2f3008130%2ftime-discretize-a-linear-quadratic-ocp-bolza-function%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
I assume $u=T$?
– Kwin van der Veen
Nov 21 '18 at 18:59
u is the pitch angle $theta$
– RocketSocks22
Nov 21 '18 at 19:06
So $dot{x}$ is not a function of $u$?
– Kwin van der Veen
Nov 21 '18 at 19:12
I suppose it could be in that $theta = gamma + alpha$ where it can reasonably be assumed that $alpha$ will be constant for this problem. Doing so would simply replace my state variable $gamma$ though, so perhaps this is not the best way to go about this problem? I currently have my thrust modeled as $T=0.5*rho V^2SC_D$ where $C_D$ is a function of $alpha$
– RocketSocks22
Nov 21 '18 at 19:22
^Actually disregard that comment. I updated my problem statement, replacing $alpha$ with $theta-gamma$ to better see the relation
– RocketSocks22
Nov 21 '18 at 19:32