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
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
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
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
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
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