Announcement

Collapse
No announcement yet.

3-D Mass Matrix

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 3-D Mass Matrix

    Hi All,

    Writing the generalized equations of motion require an nxn mass matrix. Several resources (Zatsiorsky; Craig; Yamaguchi) illustrate how this is done for a planar chain (for example, a 3-link planar chain). However, I haven't been able to find any references that show how to build the mass matrix for a chain that has 3 dimensional movement (for example, a 2 or 3 link chain where each link has 3 rotational degrees of freedom), unless I'm missing it somehow. Can anyone point me in the right direction for such a reference?

    Thanks in advance,
    Sean Flanagan

  • #2
    Re: 3-D Mass Matrix

    Hi Sean,

    Any graduate-level textbook on dynamics will probably have the information you're looking for. If you're interested in actually deriving the 3D matrix for a specific model (vs. just a conceptual understanding of how to do it), you'll probably find that it becomes exceedingly tedious and error-prone to do it by hand for a system with more than a few degrees of freedom. This extends to the equations of motion in general.

    In practice, the mass matrix and equations of motion are usually derived automatically in "symbolic" form using programs like Autolev/MotionGenesis, SDFast, DADS (not sure if DADS is still around), etc. Matlab might have toolboxes for doing it too.

    Hope this helps,
    Ross

    Comment


    • #3
      Re: 3-D Mass Matrix

      Hi Sean,

      We used "Computer-Aided Kinematics and Dynamics of Mechanical Systems" by Ed Haug for one of our classes at Penn State. It is a good book. I am not sure if it is still in print but your library may have a copy of this book.

      Hope that helps.

      Tarkesh

      Comment


      • #4
        Re: 3-D Mass Matrix

        Hi, Sean.

        If you are looking to perform practical computations with large systems, your best bet is not to form the mass matrix at all because neither it nor its inverse is needed in explicit form to calculate system dynamics. Instead you can view multiplication by the mass matrix and its inverse as operators that can be applied to a vector in O(n) time. Working with the explicit mass matrix requires at least O(n^2) time to write down and O(n^3) to factor while dynamics can be done in O(n) without it. In OpenSim for example we do forward dynamics of biomechanical systems without forming the mass matrix, using the Simbody multibody code [plug]. Given the operators, you can always recover the explicit matrices if necessary. IMO, the best reference for how to work this way if you're interested is Roy Featherstone's concise 2010 book Robot and Multibody Dynamics.

        Regards,
        Sherm

        Comment


        • #5
          Re: 3-D Mass Matrix

          Tarkesh mentioned Haug's book, but I think those methods do not use generalized coordinates, so you would not be able to get a mass matrix.

          Autolev/MotionGenesis was already mentioned, this would give you the mass matrix in symbolic form. I would also recommend taking a look at PyDy. I have not used it myself yet, but it could be a free and powerful alternative for Autolev/MotionGenesis. Like those, and SD/Fast, it is based on Kane's equations. The double link pendulum example is a good place to get started: http://pydy.org/double_pendulum. It shows how to get the mass matrix.

          Ton van den Bogert

          Comment


          • #6
            Re: 3-D Mass Matrix

            I don't have that book with me anymore but I am pretty sure Haug's book covers generalized coordinates and mass matrices.

            Haug's book is used as a textbook for MNE 581 at PSU (taught by Dr. H.J. Sommer). If you can't find the book, you may also find the notes from the class helpful (which have been posted online on the course website).

            Tarkesh

            Comment


            • #7
              Re: 3-D Mass Matrix

              Hello,

              Haug's book presents the multibody system dynamics in general. If you want to derive the mass matrix by hand, which is very cumbersome and error-prone, especially in 3D cases, you need to be careful with the choice of coordinates of the system, as mentioned by others.

              I highly recommend a package that I used in my PhD for forward dynamic modelling of human musculoskeletal systems. It is called MapleSim, which is the physical modelling package by MapleSoft. It automatically generates the equations of motion symbolically, and provides the user with option to choose different coordinates and therefore different forms of system equations. You can also extract different things from those equations, such as symbolic mass matrix, matrices of state space form, etc.
              It also deploys Maple as a leverage and generates the multibody equations in the most efficient form using code-optimization techniques.

              I used MapleSim for modelling forearm periodic flexion/extension, multi-segment foot, and eventually inverse and forward dynamics of two-step human gait. The modelling environment is quite visual and easy to learn quickly.
              These are the links to a couple of sample videos:
              http://www.youtube.com/watch?v=mPzF7_eDUS8
              http://www.youtube.com/watch?v=ALrjRKYGkxs

              Another nice feature of MapleSim is that it can easily export C-code of your complicated models, or you can export your model to MATLAB for further analyses and/or optimization.

              Here is the link to MapleSim website: http://www.maplesoft.com/products/maplesim/

              Hope it helps,
              Mohammad
              Last edited by Mohammad S. Shourijeh; June 13th, 2013, 12:12 PM.

              Comment

              Working...
              X