0
$\begingroup$

Rosanswers logo

I've attached a few pictures highlighting my problem and what is going on is I setup my axis and co ordinate systems in solidworks according to the guides whereby the axis are along the joints of the robot and the co ordinate systems for each joint is along the axis.

screenshot 1

screenshot 2

I export my URDF file from solidworks and when I create a moveit! package the joints are all misaligned and the motion is completely off. what I mean is the joints rotate at offset axis and the links are very far from one another. I've already varied the directions of the co ordinates but have seen the same results and I've managed to get the motion close to what it is supposed to be like but even so it's not what the motion should be like on the real robot.

screenshot 3

I can't upload the files because I'm a very new member but hopefully one of the members here can still offer some advice.

thanks in advance


Originally posted by TheDude35 on ROS Answers with karma: 19 on 2015-09-16

Post score: 1


Original comments

Comment by gvdhoorn on 2015-09-17:
Your images aren't visible. Could you upload them to imgur.com and add the links to your question? If you can make your urdf files available, that would also help (dropbox/github/wetransfer).

As to the plugin: have you made it use your coordsys origins before exporting?

Comment by gvdhoorn on 2015-09-17:
Also: if you accept the answer to your previous question, you'll get some karma, which will unlock some of the features on this site.

Comment by TheDude35 on 2015-09-17:
here is the imgur link to the photos: link text and here is the github link to the URDF: link text

take a look and tell me what you think. Thanks in Advance

Comment by gvdhoorn on 2015-09-17:
I'll take a look. In the meantime, you could perhaps use the recently added M-6iB from the ROS-Industrial Fanuc support packages (here). ARC Mate 100iB and M-6iB are identical as far as I know.

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

Looking at your urdf, I'd say that at least the definitions of the axes are not as they should be. For J1 for instance:

<joint name="J1" type="revolute">
    ..
    <parent link="base_link"/>
    <child link="link_1"/>
    <axis xyz="0 -1 0"/>
    ..
</joint>

This will result in a joint being defined between base_link and link_1 (what you'd want), which will be a revolute joint rotating around the -Y axis (probably not what you want). As the first axis of an ARC Mate 100iB rotates the manipulator over the robot's base, this needs to rotated around the (+)Z axis (third position in the xyz attribute).

The other axis elements have (even) stranger values. J4: xyz="0 -0.067993 0.99769". While this is a valid axis definition, I'd expect a single 1 here, in the location for the X axis (so: xyz="1 0 0"). The M-6iB urdf I linked in my comment contains the correct axes definitions, perhaps you could use those as a guide.


Your screenshots do show coordinate system origins in the SolidWorks assembly. Are you sure you selected those from the dropdown boxes in the 'URDF export wizard'? Also make sure they have the correct orientation (X forward, Y left, Z up).

The SolidWorks to URDF exporter can be a bit difficult to work with, but if you place your reference geometry correctly, it should work.


Edit: I also just noticed that the joint limits that you configured are not correct. For J2 for instance, the total range of motion is 4.36 radians. The linked URDF has:

<limit lower="-436" upper="4.36" effort="0" velocity="2.79"/>

Ignoring the typo (-436 rad), this would still give J2 double its actual range. You'll want to make sure these match the actual specifications of the robot, otherwise MoveIt (fi) cannot plan properly for your robot.


Originally posted by gvdhoorn with karma: 86574 on 2015-09-17

This answer was ACCEPTED on the original site

Post score: 1


Original comments

Comment by TheDude35 on 2015-09-17:
Great this is all very helpful I will not try all of it today since I've been using the Fanuc m16ib files as a replacement for my simulation, thank you very much and if there are any problems within the next few days I will add another comment

Comment by gvdhoorn on 2015-09-17:\

[..] since I've been using the Fanuc m16ib files [..]

Just to be sure: I mentioned that there is M-6iB support in ROS-Industrial, which should be identical to the ARC Mate 100iB. We also have M-16iB/20 support, but that is not what I was referring to.

Comment by TheDude35 on 2015-09-30:
Everything work now, with your advice I was able to solve the problem. Thanks

$\endgroup$

Your Answer

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