This commit is contained in:
Christian Risi 2025-01-17 19:04:40 +01:00
parent be4ef59b42
commit 7a5e7782f7
5 changed files with 2710 additions and 1 deletions

View File

@ -101,4 +101,89 @@ $$
$$
and so, you just need to substitute these matrices to the equation of the
$G_p(s)$ and you get you controller
$G_p(s)$ and you get you controller
## Inserting the reeference
Until now we've worked without taking the reference into consideration, so
let's add it like we normally do:
![reference input unitary feedback](../Images/State-Feedback/reference-input-1.png)
Here we can compute the error and our $G(s)$ we have in our system:
$$
e = r(t) - y(t) \\
G(s) = \frac{G_c(s)G_p(s)}{1 + G_c(s)G_p(s)}
$$
Another way to deal with the reference is to put it between our blocks:
![reference input unitary feedback](../Images/State-Feedback/reference-input-2.png)
$$
e = r(t) - \mathcal{L}^{-1}\left\{Y(s)G_c(s)\right\} \\
G(s) = \frac{G_p(s)}{1 + G_c(s)G_p(s)}
$$
Now, let's see the difference in both $G_1(s)$ and $G_2(s)$:
$$
\begin{align*}
G_1(s) &= \frac{G_c(s)G_p(s)}{1 + G_c(s)G_p(s)}
\\
&= \frac{
\frac{N_c}{D_c}\frac{N_p}{D_p}
}{
1 + \frac{N_c}{D_c} \frac{N_p}{D_p}
} \\
&= \frac{
\frac{N_c N_p}{D_c D_p}
}{
\frac{D_cD_p +N_cN_p}{D_cD_p}
} \\
&= \frac{
N_c N_p
}{
D_cD_p +N_cN_p
} \\
\end{align*}
\;\;\;\;
\begin{align*}
G_2(s) &= \frac{G_p(s)}{1 + G_c(s)G_p(s)}
\\
&= \frac{
\frac{N_p}{D_p}
}{
1 + \frac{N_c}{D_c} \frac{N_p}{D_p}
} \\
&= \frac{
\frac{N_p}{D_p}
}{
\frac{D_cD_p +N_cN_p}{D_cD_p}
} \\
&= \frac{
N_c D_c
}{
D_cD_p +N_cN_p
} \\
\end{align*}
$$
While both have the same `poles`, they differ in their `zeroes`

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,721 @@
{
"type": "excalidraw",
"version": 2,
"source": "https://marketplace.visualstudio.com/items?itemName=pomdtr.excalidraw-editor",
"elements": [
{
"type": "rectangle",
"version": 116,
"versionNonce": 851417057,
"isDeleted": false,
"id": "G2QZmT26wB1vxdj5IBVd4",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 72.96428571428612,
"y": 129.3928571428571,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 186,
"height": 74.5,
"seed": 544640833,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 3
},
"boundElements": [
{
"id": "4p4PW0ZLgm1NnEcMp5HWL",
"type": "arrow"
},
{
"type": "text",
"id": "YSnMwuO2fZHES3QE5kF6T"
},
{
"id": "kB58SWNEfxKtZrcFh6z7Y",
"type": "arrow"
}
],
"updated": 1736352835806,
"link": null,
"locked": false
},
{
"type": "text",
"version": 77,
"versionNonce": 1420053729,
"isDeleted": false,
"id": "YSnMwuO2fZHES3QE5kF6T",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 140.18430982317284,
"y": 154.1428571428571,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 51.55995178222656,
"height": 25,
"seed": 1413807905,
"groupIds": [],
"frameId": null,
"roundness": null,
"boundElements": [],
"updated": 1736352785395,
"link": null,
"locked": false,
"fontSize": 20,
"fontFamily": 1,
"text": "Gp(s)",
"textAlign": "center",
"verticalAlign": "middle",
"containerId": "G2QZmT26wB1vxdj5IBVd4",
"originalText": "Gp(s)",
"lineHeight": 1.25,
"baseline": 18
},
{
"type": "rectangle",
"version": 151,
"versionNonce": 1394160527,
"isDeleted": false,
"id": "mfn9vygBqBgmvSQ2CB4dK",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 72.96428571428612,
"y": 260.3928571428571,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 186,
"height": 74.5,
"seed": 142242561,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 3
},
"boundElements": [
{
"id": "sb0mkOIjep18lw1UCvymb",
"type": "arrow"
},
{
"type": "text",
"id": "XF_NI-InmO8zfubZiPsHw"
},
{
"id": "IZCUYoVV26YR1ZzWKuINC",
"type": "arrow"
}
],
"updated": 1736352817696,
"link": null,
"locked": false
},
{
"type": "text",
"version": 117,
"versionNonce": 1663699137,
"isDeleted": false,
"id": "XF_NI-InmO8zfubZiPsHw",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 140.09430585588768,
"y": 285.1428571428571,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 51.739959716796875,
"height": 25,
"seed": 563505889,
"groupIds": [],
"frameId": null,
"roundness": null,
"boundElements": [],
"updated": 1736352785395,
"link": null,
"locked": false,
"fontSize": 20,
"fontFamily": 1,
"text": "Gc(s)",
"textAlign": "center",
"verticalAlign": "middle",
"containerId": "mfn9vygBqBgmvSQ2CB4dK",
"originalText": "Gc(s)",
"lineHeight": 1.25,
"baseline": 18
},
{
"type": "arrow",
"version": 202,
"versionNonce": 313975887,
"isDeleted": false,
"id": "4p4PW0ZLgm1NnEcMp5HWL",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 266.9642857142861,
"y": 166.8928571428571,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 302,
"height": 0,
"seed": 1771635247,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 2
},
"boundElements": null,
"updated": 1736352802100,
"link": null,
"locked": false,
"startBinding": {
"focus": 0.006711409395973154,
"gap": 8,
"elementId": "G2QZmT26wB1vxdj5IBVd4"
},
"endBinding": null,
"lastCommittedPoint": null,
"startArrowhead": null,
"endArrowhead": "triangle",
"points": [
[
0,
0
],
[
302,
0
]
]
},
{
"type": "arrow",
"version": 259,
"versionNonce": 125947375,
"isDeleted": false,
"id": "sb0mkOIjep18lw1UCvymb",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 347.9642857142861,
"y": 166.3928571428571,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 79,
"height": 135.5,
"seed": 1748789889,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 2
},
"boundElements": [],
"updated": 1736352785395,
"link": null,
"locked": false,
"startBinding": {
"elementId": "-R_Qzk-WNM9PZ0errOel_",
"focus": -0.037821087390355224,
"gap": 10.5
},
"endBinding": {
"elementId": "mfn9vygBqBgmvSQ2CB4dK",
"focus": 0.48477334150622725,
"gap": 10
},
"lastCommittedPoint": null,
"startArrowhead": null,
"endArrowhead": "triangle",
"points": [
[
0,
0
],
[
-3.5,
117.5
],
[
-79,
135.5
]
]
},
{
"type": "text",
"version": 122,
"versionNonce": 1214426433,
"isDeleted": false,
"id": "zH9p_POTlvbWCaxB1dQRx",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -17.964285714285325,
"y": 241.10714285714278,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 15.90399169921875,
"height": 35,
"seed": 892170849,
"groupIds": [],
"frameId": null,
"roundness": null,
"boundElements": [],
"updated": 1736352823983,
"link": null,
"locked": false,
"fontSize": 28,
"fontFamily": 1,
"text": "u",
"textAlign": "left",
"verticalAlign": "top",
"containerId": null,
"originalText": "u",
"lineHeight": 1.25,
"baseline": 25
},
{
"type": "text",
"version": 98,
"versionNonce": 1494235151,
"isDeleted": false,
"id": "-R_Qzk-WNM9PZ0errOel_",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 341.9642857142861,
"y": 120.89285714285711,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 13.131988525390625,
"height": 35,
"seed": 1920106049,
"groupIds": [],
"frameId": null,
"roundness": null,
"boundElements": [
{
"id": "sb0mkOIjep18lw1UCvymb",
"type": "arrow"
}
],
"updated": 1736352785395,
"link": null,
"locked": false,
"fontSize": 28,
"fontFamily": 1,
"text": "y",
"textAlign": "left",
"verticalAlign": "top",
"containerId": null,
"originalText": "y",
"lineHeight": 1.25,
"baseline": 25
},
{
"type": "ellipse",
"version": 504,
"versionNonce": 1450912353,
"isDeleted": false,
"id": "Dl2q34DNYNSBvhNreZw1_",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -50.09175710793525,
"y": 148.33874285714282,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 39,
"height": 39,
"seed": 459719681,
"groupIds": [
"nYRH0M3_1H5r_j_fzu5re"
],
"frameId": null,
"roundness": {
"type": 2
},
"boundElements": [
{
"id": "kB58SWNEfxKtZrcFh6z7Y",
"type": "arrow"
},
{
"id": "IZCUYoVV26YR1ZzWKuINC",
"type": "arrow"
},
{
"id": "13-dNubvaVcXCYuLAXCXz",
"type": "arrow"
}
],
"updated": 1736352838412,
"link": null,
"locked": false
},
{
"type": "line",
"version": 495,
"versionNonce": 374696161,
"isDeleted": false,
"id": "iGQ0sVG84ymWCv6Cw480Q",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -31.08462198455166,
"y": 156.3387428571427,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 0,
"height": 22,
"seed": 349215713,
"groupIds": [
"nYRH0M3_1H5r_j_fzu5re"
],
"frameId": null,
"roundness": {
"type": 2
},
"boundElements": [],
"updated": 1736352798783,
"link": null,
"locked": false,
"startBinding": null,
"endBinding": null,
"lastCommittedPoint": null,
"startArrowhead": null,
"endArrowhead": null,
"points": [
[
0,
0
],
[
0,
22
]
]
},
{
"type": "line",
"version": 533,
"versionNonce": 139961537,
"isDeleted": false,
"id": "NSGqJOWbGwQoijMSBsH8f",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -42.74990380090006,
"y": 167.75610194896862,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 24.641493777715596,
"height": 0,
"seed": 385120193,
"groupIds": [
"nYRH0M3_1H5r_j_fzu5re"
],
"frameId": null,
"roundness": {
"type": 2
},
"boundElements": [],
"updated": 1736352798783,
"link": null,
"locked": false,
"startBinding": null,
"endBinding": null,
"lastCommittedPoint": null,
"startArrowhead": null,
"endArrowhead": null,
"points": [
[
0,
0
],
[
24.641493777715596,
0
]
]
},
{
"type": "arrow",
"version": 324,
"versionNonce": 460291215,
"isDeleted": false,
"id": "kB58SWNEfxKtZrcFh6z7Y",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": 1.9642857142861203,
"y": 166.8928571428571,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 57.335819606350185,
"height": 0,
"seed": 831496815,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 2
},
"boundElements": null,
"updated": 1736352835806,
"link": null,
"locked": false,
"startBinding": {
"focus": -0.0485069597069594,
"gap": 13.069780840939071,
"elementId": "Dl2q34DNYNSBvhNreZw1_"
},
"endBinding": {
"focus": -0.006711409395973154,
"gap": 13.664180393649815,
"elementId": "G2QZmT26wB1vxdj5IBVd4"
},
"lastCommittedPoint": null,
"startArrowhead": null,
"endArrowhead": "triangle",
"points": [
[
0,
0
],
[
57.335819606350185,
0
]
]
},
{
"id": "IZCUYoVV26YR1ZzWKuINC",
"type": "arrow",
"x": 62.15724817777908,
"y": 297.89285714285705,
"width": 92.14285714285711,
"height": 102.14285714285711,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 2
},
"seed": 1728208993,
"version": 90,
"versionNonce": 927550593,
"isDeleted": false,
"boundElements": [],
"updated": 1736352821637,
"link": null,
"locked": false,
"points": [
[
0,
0
],
[
-82.85714285714283,
-12.14285714285711
],
[
-92.14285714285711,
-102.14285714285711
]
],
"lastCommittedPoint": null,
"startBinding": {
"elementId": "mfn9vygBqBgmvSQ2CB4dK",
"focus": -0.3039172548493071,
"gap": 10.807037536507039
},
"endBinding": {
"elementId": "Dl2q34DNYNSBvhNreZw1_",
"focus": 0.11597842805515515,
"gap": 8.417838219779522
},
"startArrowhead": null,
"endArrowhead": "triangle"
},
{
"id": "2thTvnrJQddStnllgAt05",
"type": "line",
"x": -9.271323250792307,
"y": 195.74999999999994,
"width": 17.857142857142833,
"height": 0,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 2
},
"seed": 511119617,
"version": 5,
"versionNonce": 1479774703,
"isDeleted": false,
"boundElements": null,
"updated": 1736352828384,
"link": null,
"locked": false,
"points": [
[
0,
0
],
[
17.857142857142833,
0
]
],
"lastCommittedPoint": null,
"startBinding": null,
"endBinding": null,
"startArrowhead": null,
"endArrowhead": null
},
{
"type": "arrow",
"version": 380,
"versionNonce": 1338944111,
"isDeleted": false,
"id": "13-dNubvaVcXCYuLAXCXz",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"angle": 0,
"x": -149.98560896507803,
"y": 166.8928571428571,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"width": 90.71428571428572,
"height": 0,
"seed": 1724901025,
"groupIds": [],
"frameId": null,
"roundness": {
"type": 2
},
"boundElements": [],
"updated": 1736352840903,
"link": null,
"locked": false,
"startBinding": null,
"endBinding": {
"elementId": "Dl2q34DNYNSBvhNreZw1_",
"focus": 0.04850695970695941,
"gap": 9.195160113283958
},
"lastCommittedPoint": null,
"startArrowhead": null,
"endArrowhead": "triangle",
"points": [
[
0,
0
],
[
90.71428571428572,
0
]
]
},
{
"id": "p9TufyKpROUF1-KJ-p_kP",
"type": "text",
"x": -108.55703753650664,
"y": 128.60714285714283,
"width": 12.039993286132812,
"height": 35,
"angle": 0,
"strokeColor": "#1e1e1e",
"backgroundColor": "transparent",
"fillStyle": "solid",
"strokeWidth": 2,
"strokeStyle": "solid",
"roughness": 1,
"opacity": 100,
"groupIds": [],
"frameId": null,
"roundness": null,
"seed": 666594241,
"version": 15,
"versionNonce": 1510689217,
"isDeleted": false,
"boundElements": null,
"updated": 1736352846635,
"link": null,
"locked": false,
"text": "r",
"fontSize": 28,
"fontFamily": 1,
"textAlign": "left",
"verticalAlign": "top",
"baseline": 25,
"containerId": null,
"originalText": "r",
"lineHeight": 1.25
}
],
"appState": {
"gridSize": null,
"viewBackgroundColor": "#ffffff"
},
"files": {}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 165 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 49 KiB