question

Tomi Kosunen avatar image
0 Likes"
Tomi Kosunen asked Tomi Kosunen commented

How to use kinematic joints / axis

Hi. I have tried to build a kinematic device that has three joints: x, y and z. I can't find out, how can I move one joint at the time from ProcessFlow (or any other way)? I want to keep the kinematic "chain": if x moves, y and z follow. If y moves, only z follow. Pls find example attached. portal1_1.fsm

FlexSim 22.0.0
kinematics
portal1-1.fsm (31.9 KiB)
5 |100000

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.

Lars Jacobsen avatar image
0 Likes"
Lars Jacobsen answered

In this case I would use the "old fashioned" triggers on the task executer. I.e. "On Begin Offset", "On-Update Offset" and "On Finish Offset". This will also automatically give you the offset from the TE to item which is to be moved. In addition you can fine tune the exact location using Pick Offset and Place Offset on the objects containing the items you want to move.

https://docs.flexsim.com/en/22.1/Reference/3DObjects/TaskExecuters/BasicTE/BasicTE.html

5 |100000

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.

Jason Lightfoot avatar image
0 Likes"
Jason Lightfoot answered Tomi Kosunen commented

Try adding three kinematics - one for each of the Objects you added in the animaiton editor and are found in the drawsurrogate tree:

1647353815761.png



1647353815761.png (13.8 KiB)
· 1
5 |100000

Up to 12 attachments (including images) can be used with a maximum of 23.8 MiB each and 47.7 MiB total.

Tomi Kosunen avatar image Tomi Kosunen commented ·

What is wrong with my initkinematics? It does nothing.

Object myLift = model.find("myCrane"); // Base object

treenode x_axis = myLift.find(">visual/drawsurrogate/Object0"); // Object to execute the kinematics

myLift.labels.assert("kinematics_x"); // Create label for empty datanode

initkinematics(myLift.kinematics_x, x_axis , 0, 0);

updatekinematics(myLift.kinematics_x, x_axis );

0 Likes 0 ·