0
$\begingroup$

Rosanswers logo

Good morning everyone,

I've been trying to export a model from SolidWorks to MoveIt, but I haven't been successful. I have an industrial arm in an assembly file and was trying to use the sw_urdf_exporter.
I followed all the steps described here: exporting assembly to URDF, but it hasn't worked correctly so far. My issue is that, when I export the file with the joints corrdinate systems all in the origin of the base_link, the arm is imported correctly in MoveIt, but the parts, instead of rotating in their place, rotate around the whole robot body. On the other side, when I put the coordinate systems in the right place, in the joint, they rotate around the right point, but are expanded as if two times as far as they should be from the origin of base_link.
Has anyone tryed this or has any idea of what might be the problem?

In this dropbox folder I have 2 videos of what is happening:
https://www.dropbox.com/sh/slw1mz05lo919l5/d5RlhA1t6z

Feel free to ask any questions you might have!
Thank you,
Tiago Pimentel


Originally posted by t.pimentel on ROS Answers with karma: 385 on 2013-06-12

Post score: 2

$\endgroup$

2 Answers 2

0
$\begingroup$

Rosanswers logo

Have you tried just restraining the degrees of freedom using mates in SW, and using the exporter to determine where the coordinate systems should go? That might be trickier if you only have meshes, but I'd be curious to see what your results were.

Assuming the exporter is working correctly, you need to put the coordinate systems at the origin of each joint. Not at the base link. The behavior in the first video is what I would expect with what you did. The second video, not so much. It looks like a bug.

A new feature that was added to v1.2 seems to have caused some issues for people and I've had to address several bugs related to it. You can try an older, stable version and see if that works.

https://bitbucket.org/brawner/sw2urdf/src/22928fc900fe16257f28834d86ad7d5a3ed5f357/INSTALL/Output/sw2urdfSetup.exe

Either way, let me know how it works. You can email me personally your SW files and I can help debug what's going on.


Originally posted by brawner with karma: 581 on 2013-06-12

This answer was NOT ACCEPTED on the original site

Post score: 1


Original comments

Comment by t.pimentel on 2013-06-13:
First of all, thanks for the help. I was using mates in SolidWorks for that and the coordinate systems were going to the joint positions, I just got confused because of the "expanded" final configuration and decided to try something different. I think what is happening is the stl files have offsets.

Comment by t.pimentel on 2013-06-13:
I tried both put the origin of the parts in the main origin of the assembly or in the joint point and that didn't seem to make any difference. But I finally found a fix to this problem, don't know if this is the right way to do it, but I'll post it as an answer here.

$\endgroup$
0
$\begingroup$

Rosanswers logo

Good morning everyone,

I found a fix to the problem, but don't know if it's the right way to do it. I decided to just use the offset in each link to position all the meshes in the right position. By setting their visual and collision origins to the sum of all the joint's (its joint + its parent's joints) origins values times -1 (because the position of 1 joint builds upon the others before) I was able to put them in the right spot.

Does anyone here knows if that can cause a problem with the inertial component, should I put the same offset there? And does anyone know if there can be any future issues caused by this fix?

Thank you for the help, Tiago Pimentel


Originally posted by t.pimentel with karma: 385 on 2013-06-13

This answer was ACCEPTED on the original site

Post score: 0


Original comments

Comment by gvdhoorn on 2013-11-14:
I can't comment on any potential issues, but have you checked the ROS Industrial support for the SIA20D? The motoman_config package seems to contain a working URDF for your manipulator.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.