🎉Community Raffle - Win $25

An exclusive raffle opportunity for active members like you! Complete your profile, answer questions and get your first accepted badge to enter the raffle.
Join and Win

Please help me in MBD of this step climbing trolley, especially motion planning.

User: "Ghosty777"
Altair Community Member
Screenshot 2025-05-21 092052.png

I have made the joints and contacts. I only need help in motion planning. ANy motion I give, some weird thing is happening- either its not moving at all or falling down the platform. I have given the gravity also properly. It would be great help if someone can guide me through this.

Find more posts tagged with

Sort by:
1 - 6 of 61
    User: "GTT Adam"
    Altair Employee

    Hi @Ghosty777,

    It looks like you are trying to apply a rotational motion to a revolute joint on one of the right hand wheels. This should not effect whether the hand truck falls through the ground or not. I'm guessing the proper motion would actually be to replicate the hand truck being pulled from the handle, as if by an operator. To do so, you can attach a motion to a marker instead, and thus apply the motion in a more appropriate location (I'm assuming).

    For more on Motions, please see the Help Documentation.

    Are you able to share your model?

    If you are just getting started with MotionView, Altair has plenty of in-depth resources to help you learn and master various Altair products, such as eLearning, Community Discussions, and Tutorials.

    Altair offers an introductory course, MotionView/MotionSolve Introduction eLearning, for solving multi-body dynamics (MBD) problems using HyperWorks and illustrates constructing, solving and post-processing MBD problems. This course focuses on general Multibody mechanisms and is a starting point for learning modeling in MotionSolve.

    You can find it at the following link: https://learn.altair.com/enrol/index.php?id=496

    Altair also offers a specialized multi-body dynamics (MBD) course for vehicle modeling, called MotionSolve for Vehicle Modeling eLearning. This class introduces the application of MotionSolve for vehicle modeling applications, such as assembly of half or full car models, vehicle event creation, generating event reports, modifying vehicle subsystems, and preliminary verification methods.

    You can find it at the following link: https://learn.altair.com/enrol/index.php?id=497

    Hope this helps!

    Adam Reid

    Hi @Ghosty777 ,

    From the screenshot (I don't see a model attached), I do see a lot of Revolute and Cylindrical joints. I'm not sure how many bodies there are, but the model could be over constrained. Have you first verified that the model is not throwing any redundant constrain errors?

    If you access the eLearning you will find a section dedicated to redundant constraints and how to fix the issue. Introduction Training

    Best,

    Christopher Fadanelli

    User: "Ghosty777"
    Altair Community Member
    OP

    I am able to move it on a plane path, now I want to make it climb the steps. Can you guide me through it? I don't think I have redundant constraints. I am attaching the files

    Hi @Ghosty777 ,

    Can you please reshare the model as an archive model. When the model is loaded up, there are errors regarding external entities.

    image.png

    Go to File > Export > Model> Archive Model

    Best,

    Christopher Fadanelli

    User: "Ghosty777"
    Altair Community Member
    OP

    Hi @Ghosty777 ,

    When running the model in offline mode. In the log file, I observed these redundant constraints.

    WARNING: Row Deficiency Detected!

    This may indicate a kinematic or over-constrained model.
    Program will continue with redundant constraints removal.

    WARNING: The following redundant constraints were removed:

    (1) Joint/301031 : SPH_X between Part/30107 & Part/30128
    (2) Joint/301016 : DOT1 between Y of Part/30128 & Z of Part/30121
    (3) Joint/301025 : DOT1 between X of Part/30106 & Z of Part/30108
    (4) Joint/301015 : SPH_X between Part/30128 & Part/30127
    (5) Joint/301023 : DOT1 between Y of Part/30125 & Z of Part/30118
    (6) Joint/301015 : SPH_Z between Part/30128 & Part/30127
    (7) Joint/301013 : SPH_Y between Part/30103 & Part/30127
    (8) Joint/301020 : SPH_Y between Part/30125 & Part/30128
    (9) Joint/301025 : SPH_Y between Part/30106 & Part/30108
    (10) Joint/301025 : DOT1 between Y of Part/30106 & Z of Part/30108
    (11) Joint/301030 : DOT1 between Y of Part/30111 & X of Part/30107
    (12) Joint/301008 : SPH_X between Part/30128 & Part/30127
    (13) Joint/301025 : DOT1 between Y of Part/30106 & X of Part/30108
    (14) Joint/301021 : SPH_Y between Part/30125 & Part/30123
    (15) Joint/301022 : DOT1 between X of Part/30125 & Z of Part/30120
    (16) Joint/301019 : SPH_Z between Part/30121 & Part/30120
    (17) Joint/301023 : SPH_Z between Part/30125 & Part/30118
    (18) Joint/301024 : SPH_Z between Part/30128 & Part/30106
    (19) Joint/301020 : SPH_X between Part/30125 & Part/30128
    (20) Joint/301017 : DOT1 between X of Part/30123 & Z of Part/30121
    (21) Joint/301016 : DOT1 between X of Part/30128 & Z of Part/30121
    (22) Joint/301025 : SPH_Z between Part/30106 & Part/30108
    (23) Joint/301031 : DOT1 between Y of Part/30107 & Z of Part/30128
    (24) Joint/301017 : DOT1 between Y of Part/30123 & Z of Part/30121
    (25) Joint/301022 : DOT1 between Y of Part/30125 & X of Part/30120
    (26) Joint/301025 : SPH_X between Part/30106 & Part/30108
    (27) Joint/301013 : DOT1 between X of Part/30103 & Z of Part/30127
    (28) Joint/301017 : DOT1 between Y of Part/30123 & X of Part/30121
    (29) Joint/301009 : DOT1 between Y of Part/30129 & Z of Part/30126
    (30) Joint/301008 : SPH_Z between Part/30128 & Part/30127
    (31) Joint/301008 : SPH_Y between Part/30128 & Part/30127
    (32) EXTRA_R MTN/301001 JNT/301008
    (33) Joint/301030 : SPH_Y between Part/30111 & Part/30107
    (34) Joint/301021 : SPH_X between Part/30125 & Part/30123
    (35) Joint/301030 : DOT1 between X of Part/30111 & Z of Part/30107
    (36) Joint/301015 : DOT1 between Y of Part/30128 & Z of Part/30127
    (37) Joint/301031 : SPH_Y between Part/30107 & Part/30128
    (38) Joint/301015 : DOT1 between Y of Part/30128 & X of Part/30127
    (39) Joint/301029 : SPH_Z between Part/30110 & Part/30107
    (40) Joint/301032 : SPH_Z between Part/30116 & Part/30129
    (41) Joint/301016 : DOT1 between Y of Part/30128 & X of Part/30121
    (42) Joint/301019 : SPH_X between Part/30121 & Part/30120
    (43) Joint/301032 : SPH_X between Part/30116 & Part/30129
    (44) Joint/301027 : SPH_X between Part/30106 & Part/30110
    (45) Joint/301019 : SPH_Y between Part/30121 & Part/30120
    (46) Joint/301014 : DOT1 between Y of Part/30103 & Z of Part/30128
    (47) Joint/301032 : DOT1 between Y of Part/30116 & X of Part/30129
    (48) Joint/301011 : DOT1 between Y of Part/30116 & Z of Part/30113
    (49) Joint/301008 : DOT1 between X of Part/30128 & Z of Part/30127
    (50) Joint/301026 : DOT1 between Y of Part/30106 & Z of Part/30111
    (51) Joint/301011 : DOT1 between X of Part/30116 & Z of Part/30113
    (52) Joint/301001 : SPH_X between Part/30113 & Part/30126
    (53) Joint/301016 : SPH_Z between Part/30128 & Part/30121
    (54) Joint/301024 : DOT1 between Y of Part/30128 & X of Part/30106
    (55) Joint/301031 : DOT1 between X of Part/30107 & Z of Part/30128

    NOTE: DOT1 is the perpendicular constraint between two axes.
    DOT2 is the perpendicular constraint between an axis and a vector rj->ri.
    SPH_X(or Y,Z) is the coincidental constraint between the X(or Y,Z) of two points.
    DIST is the distance constraint between two points.
    The existence of redundant constraints may indicate potential modeling errors.
    See Users Manual for further info and remarks.

    As of now, the goal would be to get rid of all of the redundant constraints.

    If you access the eLearning you will find a section dedicated to redundant constraints and how to fix the issue. Introduction Training . You can either change the joint type. Or, you can change the behavior from to virtual or complaint (will need to give stiffness and damping values). You could also rigid group components together to reduce the amount of joints needed between parts. Another option would to replace the rigid bodies as flexible bodies.

    Hope this helps!

    Christopher Fadanelli