[sympy] Re: physics.mechanics module double pendulum

2012-01-24 Thread Gilbert gede
Yes, what you have there is correct (B2 = [M]^-1 * KM.linearize()[1]) You didn't substitute in your constants on the second matrix you calculate (B2.subs({g:9.8,m:1,l:1})). Once you do this, B1 and B2 will not evaluate as equal, but if you do (B1 - B2.subs).simplify(), you get all zeros. -Gilbert

[sympy] Re: physics.mechanics module double pendulum

2012-01-23 Thread Gustavo
Thanks for the reply. I did mean for the torque to be due to an actuator. Regarding the second point -- I didn't follow entirely. I understand that the resulting A and B matrices should be evaluated at the point of linearization. In my case, then, they will have no unbound symbols. I do want an a

[sympy] Re: physics.mechanics module double pendulum

2012-01-23 Thread Gustavo
Thanks for the reply. I did mean for the torque to be due to an actuator. Regarding the second point -- I didn't follow entirely. I understand that the resulting A and B matrices should be evaluated at the point of linearization. In my case, then, they will have no unbound symbols. I do want an a

[sympy] Re: physics.mechanics module double pendulum

2012-01-23 Thread Gilbert gede
Two problems here: First: you've added a torque term which applies to ReferenceFrame B, tau*A.z.  There are 2 potential issues with this. One, if possible, you should describe the torque in the same ReferenceFrame in which the angular velocity of the "torqued" frame is described in. Here, B.ang_vel

[sympy] Re: physics.mechanics module double pendulum

2012-01-23 Thread Gustavo
As far as I can tell, I have correctly added a torque term at the "P" joint. The linearization produces the matrices of expected dimension. I haven't checked that the "A" matrix is correct, but it looks like the "B" matrix is not correct. Here's a gist that computes "B" using the linearize() metho

[sympy] Re: physics.mechanics module double pendulum

2012-01-19 Thread Gustavo
I found this example [1], which is very helpful. All I need is a torque term at the "P" joint. Then when I linearize the equations of motion, I hope to get a 4-by-4 "A" matrix and a 4-by-1 "B" matrix. [1] http://pydy.org/index.php?title=Double_Pendulum#Integration_with_Scipy On Jan 18, 3:41 pm, G