🎉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

How to deactivate / change a joint during motion

User: "FloMa93"
Altair Community Member
Updated by FloMa93

Hi Community,

 

I am fairly new in using MotionView and I am currently trying to simulate a simple arm of a roboter, which picks a cube and rotates 90 degrees.

After rotation, the cube should be dropped and the arm should rotate back to starting position.

 

Now to my first try:

- fixed joint between arm and cube

- marker at the starting point and the end point of the rotation

 

I tried to solved the problem using the tutorial MV-1051 (sequential motion) but it's not exactly like I wanted to. I used a template like in MV-1051 and tried to adapt it, but it didn't work.

 

Could you please advise how to proceed in such a case?

 

Thanks in advance and if you need further information, just let me know.

 

Best regards,

Flo

Find more posts tagged with

Sort by:
1 - 8 of 81
    User: "Chris Coker_21312"
    New Altair Community Member
    Updated by Chris Coker_21312

    Hello Flo-

    Sequential simulation (like what was in MV-1051) is the normal approach to setting up something like this.

    Another approach (still using sequential simulation) would be to use forces, rather than joints.

     

    Our MotionSolve examples library has some examples that may be of use to you.

    Take a look at this link:

    https://altairhyperworks.com/motionsolve-models/

    Model MV-04 Robot Arm is probably more complicated that what you are looking for, but should work as a good source for a starting point.

     

    Regards,

    Chris

    User: "FloMa93"
    Altair Community Member
    OP
    Updated by FloMa93

    Hi Chris,

    thanks for your quick reply.

     

    I've seen and inspected the MV-04 Robot Arm and I wonder that there's no template used?

     

    I think the easier way to get to the result I am looking for ist the one with the template.

     

    I try to explain my attempt:

    - fixed joint between arm and cube

    - marker at the starting point (center of the cube, linked with cube) and the end point of the rotation (90 degrees difference, linked with ground)

    - Revolute joint between ground and arm, motion on this joint

    - fixed joint between cube and arm

     

    For better explanation I attached my data.

     

    Could you please have a look at it and try to find my mistakes?

     

    Thanks a lot!

     

    Best Regards

    Flo

     

     

    Unable to find an attachment - read this blog

    User: "Chris Coker_21312"
    New Altair Community Member
    Updated by Chris Coker_21312

    I took  a brief look at your model.  There appear to be multiple fixed joints defined constraining the two parts.  This creates and kinematically over-constrained model.

     

    The demo models provided previously show show good methods.  I would recommend understanding those, and trying to replicate those.

     

    Another  (simpler) approach would be to create a graphic that is attached to ground, and define 3D contact between the cube and ground.  Then the cube will rest of the ground due to the contact.  Then you avoid some of the complex things with the templates.

    User: "FloMa93"
    Altair Community Member
    OP
    Updated by FloMa93

    Hi Chris,

     

    thanks a lot for your help.

    I think I got it now, I realised it with templates.

     

    I've got some further questions regarding load/force extraction, and some other, but I will open a new topic because it's related to topology optimization.

     

    Regards

    Flo

    User: "FloMa93"
    Altair Community Member
    OP
    Updated by FloMa93

    Hi all,

     

    there's another problem now. I changed one part to a flexbody, now the Simulation stops when the joint is deactivated.

    If I change the part back to rigid body, the simulation runs without failure.

    Where could be the problem?

     

    I guess the error comes from the template or the sensor or the combination of these two, see following my current setting:

     

    Sensor:

    `DM({the_model.m_0.idstring},{the_model.m_1.idstring})`

    Signal is lass than VALUE + ERROR

    Return to Command file

     

    and in my template I've got the following:

    <Deactivate
       element_type = 'JOINT'
       element_id   = '5000'
    />

    <Simulate
        analysis_type       = 'Transient'
        end_time            = '12.00'
        print_interval      = '0.01'    
    />

    <Deactivate
       element_type = 'JOINT'
       element_id   = '{j_11.idstring}'
    />

    <Deactivate
       element_type = 'JOINT'
       element_id   = '{j_12.idstring}'
    />

    <Deactivate
       element_type = 'SENSOR'
       element_id   = '{the_model.sen_0.idstring}'
    />

    <Activate
       element_type = 'JOINT'
       element_id   = '5000'
    />

    <Simulate
        analysis_type       = 'Transient'
        end_time            = '20.00'
        print_interval      = '0.01'
    />

    <Stop/>

     

    Following a picture of the Model, the red robot arm is the flexbody.

    <?xml version="1.0" encoding="UTF-8"?>image.thumb.png.a1956c97b4db5da1b5ff35e312b70c47.png

     

    The Roboter lifts the box, rotates for 90 degrees, set the box down to the ground and rotates back. But with the flexbody it's not rotating back due to a failure message.

     

    WARNING: Repeated abnormal return from integrator!

    ERROR: At time=9.877E+00 the integrator failed to proceed.

     

    Any ideas?

     

    Thanks a lot in advance.

     

    Best regards,

    Flo

     

    User: "Chris Coker_21312"
    New Altair Community Member
    Updated by Chris Coker_21312

    Hi Flo-

    have you tried modifying the integrator settings?  Usually when a solution values, you will find a lot of text that will point you in the direction of things to try.  For example tighten (or loosen) integrator tolerance.  Decrease the maximum step size.

     

    Chris

    User: "FloMa93"
    Altair Community Member
    OP
    Updated by FloMa93

    Thanks a lot for your help Chris! Now it's working after I changed the Integrator Settings as adviced.

     

    I've got another question, hopefully somebody can help because I couldn't find any tutorials to this theme:

     

    I used a Flexbody to see stresses on the robot arm. Is it possible to create a plot (maybe in HyperGraph) which shows the maximum stress over the time? Further, is it possible to export the data to Excel or another table format?

     

    Regards

    Flo

    User: "Chris Coker_21312"
    New Altair Community Member
    Updated by Chris Coker_21312

    There may be others that have better answers than myself.  You might try posting this on the Hypermesh, or Hypergraph forum.  One 'trick' is that you can load the .h3d file into Hypergraph, and plot element stresses on an element by element basis.  If you load the .h3d into HyperView, you can look at the contour plots during the animation, and I believe you can also visualize the max element stress.  That's the typical way it's done, based on my experience.

     

    The .plt file is an ascii based file format.  You can use that file to plot with other tools.