Forums Anyscript.org  

Go Back   Forums Anyscript.org > General Forum > AnyBody Modeling System

Notices

Reply
 
Thread Tools Display Modes
  #1  
Old 05-10-2018, 05:56 AM
uricoco11 uricoco11 is offline
Junior Member
 
Join Date: Feb 2016
Posts: 11
Default Making joint and motion

Hello.

I transfered the rigid body from solid works.

I want to apply translational motion (axis=x) to rigid body

so I wrote the below codes

AnyKinEqSimpleDriver AnkleLinDriver =
{
AnyKinLinear lin =
{
AnyRefFrame& ref0 = Main.MyModel.GlobalRef.basenode;
AnyRefFrame& ref1 = Main.seat_assem.seat_pan___1.Fix_Node;
Ref = 0;
};
MeasureOrganizer = {0}; //x
DriverPos = {0};
DriverVel = {2};
Reaction.Type = {On};
};

when I start kinematic analysis

the message ' Model is kinematically over-constrained' was occured

how can I fix it?

please check my file

thank you
Attached Files
File Type: zip seat2.zip (11.44 MB, 1 views)
Reply With Quote
  #2  
Old 05-12-2018, 12:21 AM
pgalibarov's Avatar
pgalibarov pgalibarov is offline
Senior Member
 
Join Date: Oct 2010
Posts: 940
Default

Hi,

I looked at your previous model and you already have a fixation to the global ref. frame - try choosing just one:

Code:
  AnyFolder Mates = 
    {
      AnyKinEq Fix_seat_pan___1 =
      {
        AnyKinLinear lin = 
        {
          AnyRefFrame& base = ....seat_assem.Origin_Ref;
          AnyRefFrame& target = ...seat_pan___1.Fix_Node;
          Ref = 0;
        };
        AnyKinRotational rot = 
        {
          AnyRefFrame& base = ....seat_assem.Origin_Ref;
          AnyRefFrame& target = ...seat_pan___1.Fix_Node;
          Type = PlanarAngles;
        };
        CType = {.._ANY_CTYPE_, .._ANY_CTYPE_, .._ANY_CTYPE_, .._ANY_CTYPE_, .._ANY_CTYPE_, .._ANY_CTYPE_ };
      };
    };
Kind regards,
Pavel
Reply With Quote
  #3  
Old 05-12-2018, 08:27 AM
uricoco11 uricoco11 is offline
Junior Member
 
Join Date: Feb 2016
Posts: 11
Default

[quote=uricoco11;22730]Hi.

I wrote '//' in front of the codes you said like below.

//AnyFolder Mates =
//{
//AnyKinEq Fix_seat_pan___1 =
//{
//AnyKinLinear lin =
//{
//AnyRefFrame& base = ....seat_assem.Origin_Ref;
//AnyRefFrame& target = ...seat_pan___1.Fix_Node;
//Ref = 0;
//};
//AnyKinRotational rot =
//{
//AnyRefFrame& base = ....seat_assem.Origin_Ref;
//AnyRefFrame& target = ...seat_pan___1.Fix_Node;
//Type = PlanarAngles;
//};
//CType = {.._ANY_CTYPE_, .._ANY_CTYPE_, .._ANY_CTYPE_, .._ANY_CTYPE_, .._ANY_CTYPE_, .._ANY_CTYPE_ };
//};
//};


And I made joint and motion in 'Environment'

please check 'seat2.zip file' (not 'seat.zip')

As I think, you didn't check and open 'seat2.zip' file

when I start the kinematic analysis, the message(Model is kinematically over-constrained) was occured.

thank you
Reply With Quote
  #4  
Old 05-12-2018, 07:47 PM
pgalibarov's Avatar
pgalibarov pgalibarov is offline
Senior Member
 
Join Date: Oct 2010
Posts: 940
Default

Hi,

You did not define your segment inside of the MyModel folder that is being included later in MyStudy, and, hence, the analysis is not aware of this particular segment.

It creates a situation when you provided a driver (1dof), but no segment. This is why the system gives an over-constrained error.

BUT! If you include this object like this:

Code:
  // The actual body model goes in this folder
  AnyFolder MyModel = {

    #include  "Model/seat_pan.any"

    // Global Reference Frame
    AnyFixedRefFrame GlobalRef = {
      AnyRefNode basenode ={};
      #include "Model\Environment.any" 
    };  // Global reference frame
  }; // MyModel

  // The study: Operations to be performed on the model
  AnyBodyStudy MyStudy = {
    AnyFolder &Model = .MyModel;
    ...
  };
This will create a situation, where the system is underconstrained. Because you created a single driver for 1 dof, but out-commented constraints for all other degrees of freedom. You need to provide another 5 constraints.


One way to do it is like this:

Code:
  AnyKinEqSimpleDriver AnkleLinDriver = 
  {
    AnyKinLinear lin = 
    {
      AnyRefFrame& ref0 = Main.MyModel.GlobalRef.basenode;
      AnyRefFrame& ref1 = Main.MyModel.seat_assem.seat_pan___1.Fix_Node;
      Ref = 0;
    };
    AnyKinRotational rot = 
    {
      AnyRefFrame& ref0 = Main.MyModel.GlobalRef.basenode;
      AnyRefFrame& ref1 = Main.MyModel.seat_assem.seat_pan___1.Fix_Node;
      Type = RotAxesAngles;
    };
    //MeasureOrganizer = {0}; //x
    DriverPos = {0, 0, 0, 0, 0, 0};
    DriverVel = {1, 0, 0, 0, 0, 0};
    Reaction.Type = {On, On, On, On, On, On};
  };
This code makes the seat move in the X direction.

Kind regards,
Pavel
Reply With Quote
  #5  
Old 05-19-2018, 08:39 AM
uricoco11 uricoco11 is offline
Junior Member
 
Join Date: Feb 2016
Posts: 11
Default

Thanks for your help

I made another model using your comments

I want to make the seat moved with human.

seating on the seat pan, the human can be moved in x-direction.

in 'seat_model_04.zip' file,

there is human model fixing with seat pan.

I made translational joint and motion in x-direction

when I start kinematic analysis, the error was bigger than default tolerance.

Please check my file.

thank you.
Attached Files
File Type: zip seat_model_04.zip (12.19 MB, 0 views)
Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 12:06 PM.