This is cool, it is good to see other people who are familiar with
Kane's method, there aren't many of us :)

Are you familiar with Autolev?  With PyDy, I am working to achieve
some of the same behavior as Autolev, but make it even better, and
have a lot more features.  I'd love to hear your input on design
choices for PyDy if you have the time.  Right now I'm working on
extending it to allow for the 12 different Euler angles, and the 12
different space fixed angles, Euler parameters, Rodrigues parameters,
and axis/angle rotations.  The major work to take care of kinematics
automatically is in place, but there is definitely more to do in
regards to how to deal with constraints, definitions of generalized
speeds, etc...

What sort of systems do you use Kane's method to study?  My own area
of research is two wheeled vehicle (bicycle/motorcycle) dynamics and
control.

~Luke


On May 23, 6:06 am, "2006.uchida" <2006.uch...@gmail.com> wrote:
> I made a small script in MuPAD few years ago but I had to say goodbye
> to MuPAD last November, so I found Sympy and have translated it into
> Sympy now. I want to share it and I'm happy if I get some comments.
>
> What I made is the small script that generates motion equations for
> multibody dynamics by using Kane's method. It handles multibody
> dynamics, the dynamic behavior created with several rigid bodies that
> are interconnected, for instance, double pendulum, robot arms, crank
> mechanism, etc. The script allows you to get the equation easily by
> setting some information of masses, positions, forces, etc.
>
> available for download from 
> here:http://www.esnips.com/doc/0960cb0a-8820-4169-b582-d58a2d6c5f28/MoEqGe...
>
> Here is a sample code and results. More details, please see the file
> "smple.py" which you can download above.
>
> [Code]
> import sympy
> import motionequation
>
> def main():
>
>     # Sample for Newton's second law
>
>     mat = sympy.Matrix
>     t, x, m, f = sympy.symbols(
>         "t, x, m, f")
>
>     pos_vec = mat([x(t),0,0])
>     force_vec = mat([f(t),0,0])
>     I_mat = sympy.zeros(3)
>     ome_vec = sympy.zeros([3,1])
>     torque_vec = sympy.zeros([3,1])
>
>     result = motionequation.get_withKane(
>         t, [x(t).diff(t)], [m],
>         [pos_vec],
>         [I_mat],
>         [ome_vec],
>         [pos_vec], [force_vec],
>         [ome_vec], [torque_vec])
>
>     print "Newton's second law: "
>     sympy.pprint(result)
>
> main()
> [/Code]
>
> [Console]
> Newton's second law:
>       2
>      d
> [m*-----(x(t)) = f(t)]
>    dt dt
> [/Console]
>
> You can use the feature by calling the function get_withKane in the
> module motionequation. I tried and confirmed that it will return
> several kinds of the motion equations, for example, Newton's second
> law, Euler's equations of rigid body, etc.
>
> ondrej.certik provided me with useful information on the project for
> such a feature which is found at:http://code.google.com/p/pydy/
>
> I'm going to write more about how to specify the arguments of the
> function to use for your own project.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"sympy" group.
To post to this group, send email to sympy@googlegroups.com
To unsubscribe from this group, send email to sympy+unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sympy?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to