|
8 | 8 | "source": [ |
9 | 9 | "# Inverted Pendulum Dynamics\n", |
10 | 10 | "\n", |
11 | | - "CDS 110/ChE 105, Winter 2024 <br>\n", |
| 11 | + "CDS 110, Winter 2024 <br>\n", |
12 | 12 | "Richard M. Murray\n", |
13 | 13 | "\n", |
14 | 14 | "In this lecture we investigate the nonlinear dynamics of an inverted pendulum system. More information on this example can be found in [FBS2e](https://fbswiki.org/wiki/index.php?title=FBS), Examples 3.3 and 5.4.\n" |
|
56 | 56 | " y = \\theta,\n", |
57 | 57 | "$$\n", |
58 | 58 | "\n", |
59 | | - "where $m$ and $J_t = J + m l^2$ are the mass and (total) moment of inertia of the system to be balanced, $l$ is the distance from the base to the center of mass of the balanced body, $b$ is the coefficient of viscous friction, and $g$ is the acceleration due to gravity.\n", |
| 59 | + "where $m$ and $J_t = J + m l^2$ are the mass and (total) moment of inertia of the system to be balanced, $l$ is the distance from the base to the center of mass of the balanced body, $b$ is the coefficient of rotational friction, and $g$ is the acceleration due to gravity.\n", |
60 | 60 | "\n", |
61 | 61 | "We begin by creating a nonlinear model of the system:" |
62 | 62 | ] |
|
155 | 155 | "source": [ |
156 | 156 | "We see that the vertical ($\\theta = 0$) equilibrium point is unstable, but the downward equlibrium points ($\\theta = \\pm \\pi$) are stable.\n", |
157 | 157 | "\n", |
158 | | - "Note also the *separatrices* for the equilibrium point, which gives insighs into the regions of attraction (the red dashed line separates the two regions of attraction)." |
| 158 | + "Note also the *separatrices* for the equilibrium point, which gives insights into the regions of attraction (the red dashed line separates the two regions of attraction)." |
159 | 159 | ] |
160 | 160 | }, |
161 | 161 | { |
|
210 | 210 | "id": "AvU35WoBMFjt" |
211 | 211 | }, |
212 | 212 | "source": [ |
213 | | - "Note that the input to the controller is the reference value $r$ (which will will always take to be zero), the measured output $y$, which is the angle $\\theta$ for our system. The output of the controller is the system input $u$, corresponding to the force applied to the wheels.\n", |
| 213 | + "Note that the input to the controller is the reference value $r$ (which we will always take to be zero), the measured output $y$, which is the angle $\\theta$ for our system. The output of the controller is the system input $u$, corresponding to the force applied to the wheels.\n", |
214 | 214 | "\n", |
215 | 215 | "To connect the controller to the system, we use the [`interconnect`](https://python-control.readthedocs.io/en/latest/generated/control.interconnect.html) function, which will connect all signals that have the same names:" |
216 | 216 | ] |
|
297 | 297 | "source": [ |
298 | 298 | "### Phase portrait\n", |
299 | 299 | "\n", |
300 | | - "To study the resuling dynamics, we try plotting a phase plot using the same commands as before, but now for the closed loop system (with appropriate proportional gain):" |
| 300 | + "To study the resulting dynamics, we try plotting a phase plot using the same commands as before, but now for the closed loop system (with appropriate proportional gain):" |
301 | 301 | ] |
302 | 302 | }, |
303 | 303 | { |
|
574 | 574 | "\n", |
575 | 575 | "Here are some things to try with the above code:\n", |
576 | 576 | "* Try changing the locations of the closed loop eigenvalues in the `place` command\n", |
577 | | - "* Try reseting the limits of the control action (`umax`)\n", |
| 577 | + "* Try resetting the limits of the control action (`umax`)\n", |
578 | 578 | "* Try leaving the state space controller fixed but changing the parameters of the system dynamics ($m$, $l$, $b$). Does the controller still stabilize the system?" |
579 | 579 | ] |
580 | 580 | }, |
|
0 commit comments