ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

solidworks urdf exporter and robot joint calibration

asked 2014-01-28 11:42:49 -0600

Rob Farrell gravatar image

updated 2014-01-28 17:19:11 -0600

ngrennan gravatar image

I'm working with groovy and a universal robots ur5 robot that mounted on shoulder mount in a custom work cell. I've been trying to configure it with the solidworks urdf exporter and I've been coming close but there are still some issues I am facing. I am able to get the robot exported and working properly in simulation with moveit / rviz and the collision model however when I connect it to the real robot the joints are miss-aligned with the model. The closest I've come is to setup the model so that the ur5 has all its joints at 0 degrees in the model then when I start the robot the model joints match the position of the real robot except I seem to have several joints that rotate the wrong direction. I think I must be missing something. Is there a way to calibrate the joints of the model to the physical robot? I've tried everything I could think of as far as aligning the origins in the model but to no avail. Hopefully someone here has similar experience and can give me some pointers. Thanks!

edit retag flag offensive close merge delete


@Rob Farrell: have you considered using the ROS Industrial driver(s) and models for the UR5? See, be sure to check-out the hydro-devel branch as well.

gvdhoorn gravatar image gvdhoorn  ( 2014-01-30 02:55:09 -0600 )edit

I did start out using the groovy ROS-Industrial UR5 model but I had interest in making some changes to the model to include other components I have on my arm and in my work space so I turned to using the SW exporter. I was unaware that ROS-Industrial was now supporting hydro. Thanks I'll change to that branch.

Rob Farrell gravatar image Rob Farrell  ( 2014-01-31 05:08:19 -0600 )edit

1 Answer

Sort by » oldest newest most voted

answered 2014-01-29 05:36:15 -0600

brawner gravatar image

I don't have extensive testing bring up physical robots with the solidworks export, but it appears that you will need to rotate the axis of rotation 180°. You can in the exporter, or in the urdf itself flip the direction of your joint axis vector. Because joints further down the tree are dependent on the joints further up, I suggest flipping the first one that appears to be incorrect then checking the ones further down the tree. Put the joints all at 0 degrees, then manually manipulate each joint with a joint controller of some sort, until you notice that one rotates the other way around. It can be frustrating, but some robots just have hardware controllers that rotate in the opposite direction. Kuka is one example I've come across.

edit flag offensive delete link more


Thanks! This gave me what I needed to solve my problem. It was basically the default rotation of the axis was not correct from the exporter so I needed to set it in the dialog or the URDF appropriately. I have also discovered what appears to be a bug in the exporter in that in my robots orientation the exporter always flips one of the origins 180 degrees. I can share my model if you would like to debug this. Overall I find it to be a very useful tool.

Rob Farrell gravatar image Rob Farrell  ( 2014-01-31 05:12:05 -0600 )edit

Question Tools

1 follower


Asked: 2014-01-28 11:42:49 -0600

Seen: 940 times

Last updated: Jan 29 '14