倒立振子…Homework
倒立振子は制御なしには平衡状態を保てないので、制御技術の有効性を示すのに、よく研究されています。次図は様々な倒立振子を示しています。
図1 様々な倒立振子
これらの倒立振子について、まずは非線形シミュレータを開発する必要があります。以下に、要点だけを示しておきます。いずれも振子の角度は上向きの鉛直線から時計回りを正としています。
[1] PEND
運動方程式の導出(数式処理の利用)
![]()
平衡状態の検討(fsolveの利用)
![]()
![]()
非線形状態方程式の導出(S-functionの作成)
![]()
非線形シミュレータの開発(平衡状態の保持)
線形化(linmodの利用)
![]()
線形シミュレータの開発
| MAXIMA |
|
| Simulink |
|
| MATLAB |
|
[2] CIP
運動方程式の導出(数式処理の利用)
![Rendered by QuickLaTeX.com (2.1)\quad \begin{array}{l} \displaystyle{\underbrace{ \left[\begin{array}{ccc} M+m & m\ell\cos\theta \\ m\ell\cos\theta & \frac{4}{3}m\ell^2 \end{array}\right] }_{M(\xi_1)} \underbrace{ \left[\begin{array}{c} \ddot{r} \\ \ddot{\theta} \end{array}\right] }_{\dot{\xi}_2}}\\ \displaystyle{ +\underbrace{ \left[\begin{array}{ccc} 0 & -m\ell\sin\theta\dot{\theta} \\ 0 & 0 \end{array}\right] }_{C(\xi_1,\xi_2)} \underbrace{ \left[\begin{array}{c} \dot{r} \\ \dot{\theta} \end{array}\right] }_{\dot{\xi}_1}}\\ \displaystyle{ +\underbrace{ \left[\begin{array}{ccc} 0\\ -m\ell g\sin\theta \end{array}\right] }_{G(\xi_1)} = \underbrace{ \left[\begin{array}{c} 1 \\ 0 \end{array}\right] F}_{\tilde{F}}} \end{array}](https://cacsd1.sakura.ne.jp/wp/wp-content/ql-cache/quicklatex.com-b6b8157fad48af615f079cdbabc05028_l3.png)
平衡状態の検討(fsolveの利用)
![]()
![]()
非線形状態方程式の導出(S-functionの作成)
![]()
非線形シミュレータの開発(平衡状態の保持)
線形化(linmodの利用)
平衡状態(2.2a):
![Rendered by QuickLaTeX.com \displaystyle{(2.5)\quad \frac{d}{dt}\left[\begin{array}{c} r\\ \theta-\theta^*\\ \dot{r}\\ \dot{\theta} \end{array}\right] = \left[\begin{array}{cccc} 0 & 0 & 1 & 0\\ 0 & 0 & 0 & 1\\ 0 & -\frac{3gm}{4M+m} & 0 & 0\\ 0 & \frac{3(M+m)g}{(4M+m)\ell} & 0 & 0\\ \end{array}\right] \left[\begin{array}{c} r\\ \theta-\theta^*\\ \dot{r}\\ \dot{\theta} \end{array}\right] + \left[\begin{array}{c} 0\\ 0\\ \frac{4}{4M+m}\\ \frac{3}{(4M+m)\ell} \end{array}\right] F }](https://cacsd1.sakura.ne.jp/wp/wp-content/ql-cache/quicklatex.com-fae8887f4f90143f54cd71d63289bc0f_l3.png)
線形シミュレータの開発
| MAXIMA |
|
| Simulink |
|
| MATLAB |
|
[3] CIP2
運動方程式の導出(数式処理の利用)
![Rendered by QuickLaTeX.com (3.1)\quad \begin{array}{l} \displaystyle{\underbrace{ \left[\begin{array}{ccc} M+m & m\ell\cos(\theta+\alpha) \\ m\ell\cos(\theta+\alpha) & \frac{4}{3}m\ell^2 \end{array}\right] }_{M(\xi_1)} \underbrace{ \left[\begin{array}{c} \ddot{r} \\ \ddot{\theta} \end{array}\right] }_{\dot{\xi}_2}}\\ \displaystyle{ +\underbrace{ \left[\begin{array}{ccc} 0 & -m\ell\sin(\theta+\alpha)\dot{\theta} \\ 0 & 0 \end{array}\right] }_{C(\xi_1,\xi_2)} \underbrace{ \left[\begin{array}{c} \dot{r} \\ \dot{\theta} \end{array}\right] }_{\dot{\xi}_1}}\\ \displaystyle{ +\underbrace{ \left[\begin{array}{ccc} (M+m)g\sin\alpha\\ -m\ell g\sin\theta \end{array}\right] }_{G(\xi_1)} = \left[\begin{array}{c} 1 \\ 0 \end{array}\right] F} \end{array}](https://cacsd1.sakura.ne.jp/wp/wp-content/ql-cache/quicklatex.com-9e90c77e32ef0131c7f6472d28283498_l3.png)
平衡状態の検討(fsolveの利用)
![]()
![]()
非線形状態方程式の導出(S-functionの作成)
![]()
非線形シミュレータの開発(平衡状態の保持)
線形化(linmodの利用)
平衡状態(3.2a):
![Rendered by QuickLaTeX.com (3.5)\quad \begin{array}{l} \displaystyle{\frac{d}{dt}\left[\begin{array}{c} r\\ \theta-\theta^*\\ \dot{r}\\ \dot{\theta} \end{array}\right] = \left[\begin{array}{cccc} 0 & 0 & 1 & 0\\ 0 & 0 & 0 & 1\\ 0 & -\frac{6\cos\alpha mg}{8M+(5-3\cos2\alpha)m} & 0 & 0\\ 0 & \frac{6(M+m)g}{(8M+(5-3\cos2\alpha)m)\ell} & 0 & 0\\ \end{array}\right] \left[\begin{array}{c} r\\ \theta-\theta^*\\ \dot{r}\\ \dot{\theta} \end{array}\right]}\\ \displaystyle{+ \left[\begin{array}{c} 0\\ 0\\ \frac{8}{8M+(5-3\cos2\alpha)m}\\ \frac{6\cos\alpha}{(8M+(5-3\cos2\alpha)m)\ell} \end{array}\right] (F-F^*)} \end{array}](https://cacsd1.sakura.ne.jp/wp/wp-content/ql-cache/quicklatex.com-93deb9744dd26e8ee2880e1528f961ab_l3.png)
線形シミュレータの開発
| MAXIMA |
|
| Simulink |
|
| MATLAB |
|
[4] AIP
運動方程式の導出(数式処理の利用)
![Rendered by QuickLaTeX.com (4.1)\quad \begin{array}{l} \displaystyle{\underbrace{ \left[\begin{array}{ccc} (\frac{4}{3}m_1+4m_2)\ell_1^2 & 2m_2\ell_1\ell_2\cos(\theta_2-\theta_1)\\ 2m_2\ell_1\ell_2\cos(\theta_2-\theta_1) & \frac{4}{3}m_2\ell_2^2 \end{array}\right] }_{M(\xi_1)} \underbrace{ \left[\begin{array}{c} \ddot{\theta}_1 \\ \ddot{\theta}_2 \end{array}\right] }_{\dot{\xi}_2}}\\ \displaystyle{ +\underbrace{ \left[\begin{array}{ccc} 0 & -2m_2\ell_1\ell_2\sin(\theta_2-\theta_1) \dot{\theta}_2\\ 2m_2\ell_1\ell_2\sin(\theta_2-\theta_1) \dot{\theta}_1 & 0\\ \end{array}\right] }_{C(\xi_1,\xi_2)} \underbrace{ \left[\begin{array}{c} \dot{\theta}_1 \\ \dot{\theta}_2 \end{array}\right] }_{\dot{\xi}_1}}\\ \displaystyle{ +\underbrace{ \left[\begin{array}{ccc} -(m_1+2m_2)\ell_1g\sin\theta_1\\ -m_2\ell_2g\sin\theta_2 \end{array}\right] }_{G(\xi_1)} = \underbrace{ \left[\begin{array}{c} 1 \\ 0 \end{array}\right] \tau}_{\tilde{\tau}}} \end{array}](https://cacsd1.sakura.ne.jp/wp/wp-content/ql-cache/quicklatex.com-76a26f1d085c39daa570b8cee71ac8eb_l3.png)
平衡状態の検討(fsolveの利用)
![]()
![]()
非線形状態方程式の導出(S-functionの作成)
![]()
非線形シミュレータの開発(平衡状態の保持)
線形化(linmodの利用)
・
の場合の平衡状態(4.2a):
![Rendered by QuickLaTeX.com (4.5a)\quad \begin{array}{l} \displaystyle{\frac{d}{dt}\left[\begin{array}{c} \theta_1-\theta_1^*\\ \theta_2-\theta_2^*\\ \dot{\theta}_1\\ \dot{\theta}_2 \end{array}\right] =}\\ \displaystyle{\left[\begin{array}{cccc} 0 & 0 & 1 & 0\\ 0 & 0 & 0 & 1\\ \frac{3(m_1+2m_2)g}{(4m_1+3m_2)\ell_1} & -\frac{9m_2g}{2(4m_1+3m_2)\ell_1} & 0 & 0\\ -\frac{9(m_1+2m_2)g}{2(4m_1+3m_2)\ell_1} & \frac{9m_2g}{(4m_1+3m_2)\ell_2} & 0 & 0\\ \end{array}\right] \left[\begin{array}{c} \theta_1-\theta_1^*\\ \theta_2-\theta_2^*\\ \dot{\theta}_1\\ \dot{\theta}_2 \end{array}\right]}\\ \displaystyle{+ \left[\begin{array}{c} 0\\ 0\\ \frac{6}{2(4m_1+3m_2)\ell_1^2}\\ -\frac{9}{2(4m_1+3m_2)\ell_1\ell_2} \end{array}\right] (\tau-\tau^*)} \end{array}](https://cacsd1.sakura.ne.jp/wp/wp-content/ql-cache/quicklatex.com-a11a4d24890d0850335707e48115c732_l3.png)
・
の場合の平衡状態(4.2a):
![Rendered by QuickLaTeX.com (4.5b)\quad \begin{array}{l} \displaystyle{\frac{d}{dt}\left[\begin{array}{c} \theta_1-\theta_1^*\\ \theta_2-\theta_2^*\\ \dot{\theta}_1\\ \dot{\theta}_2 \end{array}\right] =}\\ \displaystyle{\left[\begin{array}{cccc} 0 & 0 & 1 & 0\\ 0 & 0 & 0 & 1\\ a_{31}(\alpha) & a_{32}(\alpha) & 0 & 0\\ a_{41}(\alpha) & a_{42}(\alpha) & 0 & 0 \end{array}\right] \left[\begin{array}{c} \theta_1-\theta_1^*\\ \theta_2-\theta_2^*\\ \dot{\theta}_1\\ \dot{\theta}_2 \end{array}\right]}\\ \displaystyle{+ \left[\begin{array}{c} 0\\ 0\\ \frac{6}{2(4m_1+3(4-3\cos^2\alpha)m_2)\ell_1^2}\\ -\frac{6}{2(4m_1+3(4-3\cos^2\alpha)m_2)\ell_1\ell_2} \end{array}\right] (\tau-\tau^*)} \end{array}](https://cacsd1.sakura.ne.jp/wp/wp-content/ql-cache/quicklatex.com-bbff369ea90195fe12e62e338448cbcd_l3.png)

線形シミュレータの開発
| MAXIMA |
|
| Simulink |
|
| MATLAB |
|
[5] PIP
運動方程式の導出(数式処理の利用)
![Rendered by QuickLaTeX.com (5.1)\quad \begin{array}{l} \displaystyle{\underbrace{ \left[\begin{array}{ccc} M+m_1+m_2 & (m_1+2m_2)\ell_1\cos\theta_1 & m_2\ell_2\cos\theta_2\\ (m_1+2m_2)\ell_1\cos\theta_1 & (\frac{4}{3}m_1+4m_2)\ell_1^2 & 2m_2\ell_1\ell_2\cos(\theta_2-\theta_1)\\ m_2\ell_2\cos\theta_2 & 2m_2\ell_1\ell_2\cos(\theta_2-\theta_1) & \frac{4}{3}m_2\ell_2^2 \end{array}\right] }_{M(\xi_1)} \underbrace{ \left[\begin{array}{c} \ddot{r} \\ \ddot{\theta}_1 \\ \ddot{\theta}_2 \end{array}\right] }_{\dot{\xi}_2}}\\ \displaystyle{ +\underbrace{ \left[\begin{array}{ccc} 0 & -(m_1+2m_2)\ell_2\sin\theta_2 \dot{\theta}_1 & -m_2\ell_2\sin\theta_2 \dot{\theta}_2\\ 0 & 0 & 2m_2\ell_1\ell_2\sin(\theta_2-\theta_1) \dot{\theta}_2\\ 0 & 2m_2\ell_1\ell_2\sin(\theta_2-\theta_1) \dot{\theta}_1 & 0\\ \end{array}\right] }_{C(\xi_1,\xi_2)} \underbrace{ \left[\begin{array}{c} \dot{r} \\ \dot{\theta}_1 \\ \dot{\theta}_2 \end{array}\right] }_{\dot{\xi}_1}}\\ \displaystyle{ +\underbrace{ \left[\begin{array}{ccc} 0 \\ (m_1+3m_2)\ell_1g\sin\theta_1\\ -m_2\ell_2g\sin\theta_2 \end{array}\right] }_{G(\xi_1)} = \underbrace{ \left[\begin{array}{c} 1 \\ 0 \\ 0 \end{array}\right] F}_{\tilde{F}} \end{array}](https://cacsd1.sakura.ne.jp/wp/wp-content/ql-cache/quicklatex.com-31c39d9c40fa5f71f3c50512937de667_l3.png)
平衡状態の検討(fsolveの利用)
![]()
非線形状態方程式の導出(S-functionの作成)
![]()
非線形シミュレータの開発(平衡状態の保持)
線形化(linmodの利用)
平衡状態(5.2):
![Rendered by QuickLaTeX.com (5.5)\quad \begin{array}{l} \displaystyle{\frac{d}{dt}\left[\begin{array}{c} r\\ \theta_1-\theta_1^*\\ \theta_2-\theta_2^*\\ \dot{r}\\ \dot{\theta}_1\\ \dot{\theta}_2 \end{array}\right] =}\\ \displaystyle{\left[\begin{array}{cccccc} 0 & 0 & 0 & 1 & 0 & 0\\ 0 & 0 & 0 & 0 & 1 & 0\\ 0 & 0 & 0 & 0 & 0 & 1\\ 0 & -\frac{3m_1g}{4M+m_1+m_2} & -\frac{3m_2g}{4M+m_1+m_2} & 0 & 0 & 0\\ 0 & \frac{3(4m+4m_1+m_2)g}{4(4M+m_1+m_2)\ell_1} & \frac{9m_2g}{4(4M+m_1+m_2)\ell_1} & 0 & 0& 0\\ 0 & \frac{9gm_1}{4(4M+m_1+m_2)\ell_2} & \frac{3(4m+m_1+4m_2)g}{4(4M+m_1+m_2)\ell_2} & 0 & 0& 0\\ \end{array}\right] \left[\begin{array}{c} r\\ \theta_1-\theta_1^*\\ \theta_2-\theta_2^*\\ \dot{r}\\ \dot{\theta}_1\\ \dot{\theta}_2 \end{array}\right]}\\ \displaystyle{+ \left[\begin{array}{c} 0\\ 0\\ 0\\ \frac{4}{4M+m_1+m_2}\\ -\frac{3}{(4M+m_1+m_2)\ell_1}\\ -\frac{3}{(4M+m_1+m_2)\ell_2} \end{array}\right] F \end{array}](https://cacsd1.sakura.ne.jp/wp/wp-content/ql-cache/quicklatex.com-8554645545e9bed2d603331493dd90b7_l3.png)
線形シミュレータの開発
| MAXIMA |
|
| Simulink |
|
| MATLAB |
|
[6] DIP
運動方程式の導出(数式処理の利用)
![Rendered by QuickLaTeX.com (6.1)\quad \begin{array}{l} \displaystyle{\underbrace{ \left[\begin{array}{ccc} M+m_1+m_2 & m_1\ell_1\cos\theta_1 & -m_2\ell_2\cos\theta_2\\ m_1\ell_1\cos\theta_1 & \frac{4}{3}m_1\ell_1^2 & 0\\ -m_2\ell_2\cos\theta_2 & 0 & \frac{4}{3}m_2\ell_2^2 \end{array}\right] }_{M(\xi_1)} \underbrace{ \left[\begin{array}{c} \ddot{r} \\ \ddot{\theta}_1 \\ \ddot{\theta}_2 \end{array}\right] }_{\dot{\xi}_2}}\\ \displaystyle{ +\underbrace{ \left[\begin{array}{ccc} 0 & -m_1\ell_2\sin\theta_2 \dot{\theta}_1 & -m_2\ell_2\sin\theta_2 \dot{\theta}_2\\ 0 & 0 & 0\\ 0 & 0 & 0\\ \end{array}\right] }_{C(\xi_1,\xi_2)} \underbrace{ \left[\begin{array}{c} \dot{r} \\ \dot{\theta}_1 \\ \dot{\theta}_2 \end{array}\right] }_{\dot{\xi}_1}}\\ \displaystyle{ +\underbrace{ \left[\begin{array}{ccc} 0 \\ -m_1\ell_1g\sin\theta_1\\ -m_2\ell_2g\sin\theta_2 \end{array}\right] }_{G(\xi_1)} = \underbrace{ \left[\begin{array}{c} 1 \\ 0 \\ 0 \end{array}\right] F}_{\tilde{F}} \end{array}](https://cacsd1.sakura.ne.jp/wp/wp-content/ql-cache/quicklatex.com-93481c5d4d113644bf7b152b46e9779f_l3.png)
平衡状態の検討(fsolveの利用)
![]()
非線形状態方程式の導出(S-functionの作成)
![]()
非線形シミュレータの開発(平衡状態の保持)
線形化(linmodの利用)
平衡状態(6.2):
![Rendered by QuickLaTeX.com (6.5)\quad \begin{array}{l} \displaystyle{ \frac{d}{dt}\left[\begin{array}{c} r\\ \theta_1-\theta_1^*\\ \theta_2-\theta_2^*\\ \dot{r}\\ \dot{\theta}_1\\ \dot{\theta}_2 \end{array}\right] =}\\ \displaystyle{ \left[\begin{array}{cccccc} 0 & 0 & 0 \\ 0 & 0 & 0 \\ 0 & 0 & 0 \\ 0 & -\frac{3m_1g}{Mm_1+m_1^2+(3M+m1)m_2} & -\frac{3m_2g}{Mm_1+m_1^2+(3M+m1)m_2} \\ 0 & \frac{3(4Mm_1+4m_1^2+3m_2^2+3(18M+13m_1)m_2)g}{(4Mm_1+m_1^2+(3M+m1)m_2)\ell_1} & \frac{9(2M+m_1)m_2g}{(4Mm_1+m_1^2+(3M+m1)m_2)\ell_1} \\ 0 & \frac{9(2Mm_1+m_1^2+3(2M+m_1)m_2)g}{(4Mm_1+m_1^2+(3M+m_1)m_2)\ell_2} & \frac{3(4Mm_1+m_1^2+12(3M+m_1)m_2)g}{(4Mm_1+m_1^2+(3M+m_1)m_2)\ell_2} \\ \end{array}\right.}\\ \displaystyle{\left.\begin{array}{cccccc} 1 & 0 & 0\\ 0 & 1 & 0\\ 0 & 0 & 1\\ 0 & 0 & 0\\ 0 & 0 & 0\\ 0 & 0 & 0\\ \end{array}\right] \left[\begin{array}{c} r\\ \theta_1-\theta_1^*\\ \theta_2-\theta_2^*\\ \dot{r}\\ \dot{\theta}_1\\ \dot{\theta}_2 \end{array}\right]}\\ \displaystyle{+ \left[\begin{array}{c} 0\\ 0\\ 0\\ \frac{4m_1+3m_2}{4Mm_1+m_1^2+(3M+m1)m_2}\\ -\frac{3(2m_1+m2)}{2Mm_1+m_1^2+(3M+m1)m_2}\\ \frac{3m_1}{2(4Mm_1+m_1^2+(3M+m_1)m_2)\ell_2} \end{array}\right] F} \end{array}](https://cacsd1.sakura.ne.jp/wp/wp-content/ql-cache/quicklatex.com-0ded80f948ddab3f936f91c1c7ea13d2_l3.png)
線形シミュレータの開発
| MAXIMA |
|
| Simulink |
|
| MATLAB |
|