ADDED mttroot/mtt/lib/examples/Identification/idInvertedPendulumOnCart/Cart_abg.fig Index: mttroot/mtt/lib/examples/Identification/idInvertedPendulumOnCart/Cart_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Identification/idInvertedPendulumOnCart/Cart_abg.fig @@ -0,0 +1,49 @@ +#FIG 3.2 +Portrait +Center +Metric +A4 +100.00 +Single +-2 +1200 2 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 4050 2925 4050 1575 4275 1800 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 4275 3150 5625 3150 5400 3375 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 4275 4950 5625 4950 5400 5175 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 2475 3825 2475 4275 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 2475 3150 3825 3150 3600 3375 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 3825 4950 2475 4950 2700 5175 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 3825 2925 2870 1970 2870 2289 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 4288 2957 5243 2002 5243 2320 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 6525 3150 7875 3150 7650 3375 +2 4 0 2 31 7 101 0 -1 0.000 0 0 7 0 0 5 + 9900 5850 225 5850 225 900 9900 900 9900 5850 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 2475 4050 3825 4050 3600 4275 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 4275 4050 5625 4050 5400 4275 +4 1 1 101 0 3 20 0.0000 4 270 1155 4140 3600 x-velocity\001 +4 1 0 100 0 18 20 0.0000 4 195 150 4050 3240 1\001 +4 1 4 100 0 18 20 0.0000 4 270 1320 1710 3240 SS:[drive]\001 +4 1 1 101 0 3 20 0.0000 4 270 1125 4185 4500 y-velocity\001 +4 1 1 101 0 3 20 0.0000 4 270 1905 4050 5490 angular-velocity\001 +4 1 0 100 0 18 20 0.0000 4 195 150 4050 5040 1\001 +4 1 4 100 0 18 20 0.0000 4 270 825 6165 5040 SS:[a]\001 +4 2 0 100 0 18 20 0.0000 4 270 735 2430 5040 R:r_p\001 +4 1 0 100 0 18 20 0.0000 4 270 720 2835 1845 R:r_c\001 +4 1 4 100 0 18 20 0.0000 4 270 825 4050 1440 SS:[x]\001 +4 1 0 100 0 18 20 0.0000 4 270 735 5355 1845 I:m_c\001 +4 1 0 100 0 18 20 0.0000 4 210 630 6075 3240 INTF\001 +4 0 0 100 0 18 20 0.0000 4 210 1590 8010 3240 De:Position\001 +4 1 0 100 0 18 20 0.0000 4 195 150 4050 4140 1\001 +4 1 4 100 0 18 20 0.0000 4 270 825 6165 4140 SS:[y]\001 +4 2 0 100 0 18 20 0.0000 4 270 2190 2430 4140 Sf:zero_velocity\001 ADDED mttroot/mtt/lib/examples/Identification/idInvertedPendulumOnCart/Cart_lbl.txt Index: mttroot/mtt/lib/examples/Identification/idInvertedPendulumOnCart/Cart_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Identification/idInvertedPendulumOnCart/Cart_lbl.txt @@ -0,0 +1,55 @@ +%% Label file for system Cart (Cart_lbl.txt) +%SUMMARY Cart +%DESCRIPTION Simple cart model + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %% Revision 1.1 2000/12/28 18:00:45 peterg +% %% To RCS +% %% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +% Port aliases +%ALIAS in drive +%ALIAS pendulum|out x,y,a +%UNITS drive translational N m/s +b%UNITS x translational N m/s +%UNITS y translational N m/s +%UNITS a rotational N*m radian/s + + +% Argument aliases +%ALIAS $1 m_c + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% component-name cr_name arg1,arg2,..argn +% blank + +% ---- Component labels ---- + +% Component type I + m_c lin flow,m_c + +% Component type R + r_c lin flow,r_c + r_p lin flow,r_p + +% Component type SS + [a] SS external,external + [drive] SS external,external + [x] SS external,external + [y] SS external,external + +% Component type De + Position SS external + +% Component type Sf + zero_velocity SS 0 + + + ADDED mttroot/mtt/lib/examples/Identification/idInvertedPendulumOnCart/InvertedPendulumOnCart_lbl.txt Index: mttroot/mtt/lib/examples/Identification/idInvertedPendulumOnCart/InvertedPendulumOnCart_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Identification/idInvertedPendulumOnCart/InvertedPendulumOnCart_lbl.txt @@ -0,0 +1,33 @@ +%% Label file for system InvertedPendulumOnCart (InvertedPendulumOnCart_lbl.txt) +%SUMMARY InvertedPendulumOnCart +%DESCRIPTION An Inverted Pendulum on a Cart + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %% Revision 1.1 2000/12/28 18:00:45 peterg +% %% To RCS +% %% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +% Port aliases +%ALIAS in F +%UNITS F translational N m/s + +% Argument aliases + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% component-name cr_name arg1,arg2,..argn +% blank + +% ---- Component labels ---- + +% Component type SS + [F] SS external,internal + + + ADDED mttroot/mtt/lib/examples/Identification/idInvertedPendulumOnCart/InvertedPendulum_abg.fig Index: mttroot/mtt/lib/examples/Identification/idInvertedPendulumOnCart/InvertedPendulum_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Identification/idInvertedPendulumOnCart/InvertedPendulum_abg.fig @@ -0,0 +1,46 @@ +#FIG 3.2 +Portrait +Center +Metric +A4 +100.00 +Single +-2 +1200 2 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 6840 4950 8190 4950 7965 5175 +2 4 0 2 31 7 101 0 -1 0.000 0 0 7 0 0 5 + 9675 7425 3150 7425 3150 2475 9675 2475 9675 7425 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 4950 5400 4950 6750 5175 6525 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 6075 5400 6075 6750 6300 6525 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 3825 5400 3825 6750 4050 6525 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 4950 3150 4950 4500 5175 4275 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 6075 3150 6075 4500 6300 4275 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 3825 3150 3825 4500 4050 4275 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 4050 6750 3600 6750 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 5175 6750 4725 6750 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 6300 5400 5850 5400 +4 1 4 100 0 18 20 0.0000 4 270 825 3825 7065 SS:[x]\001 +4 1 4 100 0 18 20 0.0000 4 270 825 4950 7065 SS:[y]\001 +4 1 4 100 0 18 20 0.0000 4 270 825 6075 7065 SS:[a]\001 +4 1 0 100 0 18 20 0.0000 4 270 1545 4964 5040 gRODa:rod\001 +4 1 0 100 0 18 20 0.0000 4 270 915 3825 3015 Se:x_0\001 +4 1 0 100 0 18 20 0.0000 4 270 915 4950 3015 Se:y_0\001 +4 1 0 100 0 18 20 0.0000 4 270 915 6030 3015 Se:a_0\001 +4 1 4 100 0 18 14 0.0000 4 210 270 6660 4995 [a]\001 +4 1 0 100 0 18 20 0.0000 4 210 1140 8865 5040 De:theta\001 +4 1 4 100 0 18 14 0.0000 4 210 495 3825 4725 [x_a]\001 +4 1 4 100 0 18 14 0.0000 4 210 510 4950 4725 [y_a]\001 +4 1 4 100 0 18 14 0.0000 4 210 510 6075 4725 [a_a]\001 +4 1 4 100 0 18 14 0.0000 4 210 510 3825 5265 [x_b]\001 +4 1 4 100 0 18 14 0.0000 4 210 525 4950 5265 [y_b]\001 +4 1 4 100 0 18 14 0.0000 4 210 525 6075 5265 [a_b]\001 ADDED mttroot/mtt/lib/examples/Identification/idInvertedPendulumOnCart/InvertedPendulum_lbl.txt Index: mttroot/mtt/lib/examples/Identification/idInvertedPendulumOnCart/InvertedPendulum_lbl.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Identification/idInvertedPendulumOnCart/InvertedPendulum_lbl.txt @@ -0,0 +1,49 @@ +%% Label file for system InvertedPendulum (InvertedPendulum_lbl.txt) +%SUMMARY InvertedPendulum +%DESCRIPTION + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %% Revision 1.1 2000/12/28 18:00:45 peterg +% %% To RCS +% %% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +% Port aliases +%UNITS x translational N m/s +%UNITS y translational N m/s +%UNITS a rotational N*m radian/s + + +%ALIAS in|cart x,y,a + + +% Argument aliases + +%% Each line should be of one of the following forms: +% a comment (ie starting with %) +% component-name cr_name arg1,arg2,..argn +% blank + +% ---- Component labels ---- + +% Component type De + theta SS external + +% Component type SS + [a] SS external,external + [x] SS external,external + [y] SS external,external + +% Component type Se + a_0 SS 0 + x_0 SS 0 + y_0 SS 0 + +% Component type gRod + rod none l;l;j_r;m_r;g + ADDED mttroot/mtt/lib/examples/Identification/idInvertedPendulumOnCart/idInvertedPendulumOnCart_abg.fig Index: mttroot/mtt/lib/examples/Identification/idInvertedPendulumOnCart/idInvertedPendulumOnCart_abg.fig ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Identification/idInvertedPendulumOnCart/idInvertedPendulumOnCart_abg.fig @@ -0,0 +1,26 @@ +#FIG 3.2 +Portrait +Center +Metric +A4 +100.00 +Single +-2 +1200 2 +1 4 0 2 1 7 51 0 -1 0.000 1 0.0000 3700 4909 203 203 3497 4909 3903 4909 +1 4 0 2 1 7 51 0 -1 0.000 1 0.0000 4817 4902 203 203 4614 4902 5020 4902 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 2475 4275 3825 4275 3600 4500 +2 4 0 2 1 7 101 0 -1 0.000 0 0 7 0 0 5 + 5175 4725 3375 4725 3375 3825 5175 3825 5175 4725 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 3 + 4275 4050 5230 3095 5230 3414 +2 1 0 2 1 7 101 0 -1 0.000 0 0 -1 0 0 5 + 4477 3712 5872 2317 6052 2497 4702 3847 4522 3667 +2 4 0 2 31 7 101 0 -1 0.000 0 0 7 0 0 5 + 6750 5400 1125 5400 1125 2025 6750 2025 6750 5400 +2 1 0 2 0 7 100 0 -1 0.000 0 0 -1 0 0 2 + 3825 4050 3825 4500 +4 1 0 100 0 18 20 0.0000 4 210 570 4275 4365 Cart\001 +4 1 0 100 0 18 20 0.0000 4 210 630 2070 4365 Se:F\001 +4 1 0 100 0 18 20 0.0000 4 210 2445 5355 3060 InvertedPendulum\001 ADDED mttroot/mtt/lib/examples/Identification/idInvertedPendulumOnCart/idInvertedPendulumOnCart_desc.tex Index: mttroot/mtt/lib/examples/Identification/idInvertedPendulumOnCart/idInvertedPendulumOnCart_desc.tex ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Identification/idInvertedPendulumOnCart/idInvertedPendulumOnCart_desc.tex @@ -0,0 +1,27 @@ +% -*-latex-*- Put EMACS into LaTeX-mode +% Verbal description for system idInvertedPendulumOnCart (InvertedPendulumOnCart_desc.tex) +% Generated by MTT on Thu Aug 5 10:38:16 BST 1999. + +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% Version control history +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% %% $Id$ +% %% $Log$ +% %% Revision 1.1 2000/12/28 18:00:45 peterg +% %% To RCS +% %% +% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + The acausal bond graph of system \textbf{idInvertedPendulumOnCart} is + displayed in Figure \Ref{fig:InvertedPendulumOnCart_abg.ps} and its label + file is listed in Section \Ref{sec:InvertedPendulumOnCart_lbl}. + The subsystems are listed in Section \Ref{sec:InvertedPendulumOnCart_sub}. + +This is a one input, two output nonlinear system comprising an +inverted pendulum attached by a hinge to a cart constrained to move in +the horizontal direction. The input is the horizontal force acting on +the cart, and the two outputs are the horizontal position and the +pendulum angle respectively. + +The identification procedure estimates the two friction parameters +$r_c$ and $r_c$ ADDED mttroot/mtt/lib/examples/Identification/idInvertedPendulumOnCart/idInvertedPendulumOnCart_input.txt Index: mttroot/mtt/lib/examples/Identification/idInvertedPendulumOnCart/idInvertedPendulumOnCart_input.txt ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Identification/idInvertedPendulumOnCart/idInvertedPendulumOnCart_input.txt @@ -0,0 +1,10 @@ +## -*-octave-*- Put Emacs into octave-mode ## + +## +## System idInvertedPendulumOnCart, representation input, language txt; +## File idInvertedPendulumOnCart_input.txt; +## Generated by MTT on Thu Apr 5 15:27:30 BST 2001; + + + +idInvertedPendulumOnCart_f = 1.0*(t<1); # Force for 1 sec ADDED mttroot/mtt/lib/examples/Identification/idInvertedPendulumOnCart/idInvertedPendulumOnCart_ippp.m Index: mttroot/mtt/lib/examples/Identification/idInvertedPendulumOnCart/idInvertedPendulumOnCart_ippp.m ================================================================== --- /dev/null +++ mttroot/mtt/lib/examples/Identification/idInvertedPendulumOnCart/idInvertedPendulumOnCart_ippp.m @@ -0,0 +1,51 @@ + +## Set up parameters +name = "idInvertedPendulumOnCart"; +sim = sidInvertedPendulumOnCart_simpar; # Simulation parameter +sym = sidInvertedPendulumOnCart_sympar; # Parameter names +par = sidInvertedPendulumOnCart_numpar; # Parameter values +x0 = sidInvertedPendulumOnCart_state(par); # Initial state + +## Simulation of "actual" system +t = [0:sim.dt:sim.last]'; +one = ones(size(t)); +u = 1.0*(t