0
$\begingroup$

Rosanswers logo

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!


Originally posted by Rob Farrell on ROS Answers with karma: 26 on 2014-01-28

Post score: 0


Original comments

Comment by gvdhoorn on 2014-01-30:
@Rob Farrell: have you considered using the ROS Industrial driver(s) and models for the UR5? See http://wiki.ros.org/universal_robot, be sure to check-out the hydro-devel branch as well.

Comment by Rob Farrell on 2014-01-31:
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.

$\endgroup$

1 Answer 1

0
$\begingroup$

Rosanswers logo

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.


Originally posted by brawner with karma: 581 on 2014-01-29

This answer was ACCEPTED on the original site

Post score: 2


Original comments

Comment by Rob Farrell on 2014-01-31:
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.

$\endgroup$

Your Answer

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