Page 1 of 1

SW2URDF parallel robot

Posted: 02 Sep 2021, 10:49
by kamtah
Hello,

I am using SW2URDF add-in for Solidworks and I had some questions on how to do this. I have a parallel robot where links rejoin from Link3.
Is it the correct way to link them? Do I have to redo the links 2 times as follows? Or should I just do the link4_.. for the first Link3 and just stop at Link3 for the second one.

- base_link

-- Link1_1
--- Link3
---- Link4

-- Link1_2
--- Link2
---- Link3
----- Link4

Thanks in advance!

Re: SW2URDF parallel robot

Posted: 03 Sep 2021, 07:04
by coppelia
Hello,

it is difficult to understand the kinematics of your robot. Maybe you can show us a picture or post the scene file?
In general, you will have to first identify what kind of simulation you need: kinematics or dynamics.
For situations where dynamics is not required, I highly recommend using kinematics: you will be able to handle forward and inverse kinematics tasks easily, also for complex robots (i.e. containing nested loops, etc.). There are many examples in folder scenes/kinematics/
Dynamics is much more tricky and operation/performance/etc. will depend on so many different factors such as masses, inertias, engine used, +dozens of other factors.

Cheers

Re: SW2URDF parallel robot

Posted: 03 Sep 2021, 09:08
by kamtah
Thank you for your response. Here is the kinematics of the robot I want to export with sw2urdf.
Image

Re: SW2URDF parallel robot

Posted: 03 Sep 2021, 10:53
by coppelia
Ok, normally you have several possibilities. But my guess is you want to control it in forward and inverse kinematics. For that, just import the cad file. Not sure what hierarchy structure URDF will generate. But then best is to then decompose your mechanism into loose items (i.e. parentless children) composed of shapes and joints. Then, build your hierarchy as a tree like:

Code: Select all

base --> joint --> Link1_1 --> joint --> Link3 --> joint --> Link4 --> toolTip
                                               --> joint --> Link2 --> joint --> Link1_2 --> loopClosureTip
     --> loopClosureTarget
     --> toolTarget
note that there are various ways you can have your tree, but I would do it like in above example. It is important however that the loop closure tip/target are not mobile.
Then you can define two IK elements, that you insert in an IK group. Actually it is very similar to the demo scene scenes/kinematics/fkAndIkResolutionForParallelMechanisms.

In your case you will have to switch some joint modes (with simIK.setJointMode) when going from IK to FK mode, and vice-versa, and also possibly disable the tip/target ik element when in FK mode (simIK.setIkElementFlags).

See also some of the more complex example models in your model folder: models/robots/non-mobile/ABB IRB 360.ttm

Cheers