Ask Your Question
0

Modelling a robot using urdf / xacro for Moveit

asked 2014-11-19 08:55:47 -0500

ROSkinect gravatar image

updated 2014-11-20 03:51:29 -0500

Hi there I'm working with a robot in Moveit: Here you can find the package of the robot.

I have an issue with their articulations, as it's shown in those pictures:

1- All joints are in their initial position:

image description image description

2-After moving Joint_2 in Moveit, this is what happen:

image description

This first link_1 get out from the robot !!

My question as you probably understand, is how and where can I fix that issue :D ?

edit retag flag offensive close merge delete

Comments

As the author of the staubli packages in the repository you link, I'm quite sure that the model you show in your screenshot is not part of that repository. You should probably clarify that in your question.

gvdhoorn gravatar image gvdhoorn  ( 2014-11-19 09:05:43 -0500 )edit

Yes gvdhoorn You're right. I was thinking about that when writing the question but I figure that it'll complicate the question !! So as you are the author; where the center rotation is defined or how can I solve that problem ?

ROSkinect gravatar image ROSkinect  ( 2014-11-19 09:14:09 -0500 )edit

Also: this is not really MoveIt related, but is a simple matter of modelling your robot correctly using urdf / xacro. I'd suggest updating your question title (and tags) to reflect this.

gvdhoorn gravatar image gvdhoorn  ( 2014-11-19 15:38:37 -0500 )edit

I changed the title

ROSkinect gravatar image ROSkinect  ( 2014-11-20 03:51:55 -0500 )edit

1 Answer

Sort by » oldest newest most voted
1

answered 2014-11-19 09:04:24 -0500

gvdhoorn gravatar image

updated 2014-11-20 08:27:07 -0500

This would appear to be an incorrectly specified center of rotation (origin) for the joint between link_1 and link_2, judging from the screenshot. Are you sure you defined their locations (and orientations) correctly?


Edit:

when I delete all directories and files except rx160.urdf and meshes; it still wokring ! How can you explain that !

If by 'is still working' you mean you can still visualise the model, then that is not really hard to explain: all you need for that are the urdf and the meshes. All the other files in the package are just for documentation, packaging and convenience (the test_rx160.launch file fi).

and in the urdf we can't do lot of things !

I don't really understand what you're trying to say.

The urdf is just a textual description of the kinematic structure of your robot. In the case of the staubli_rx160_support package, this is based on the dimensions of the physical RX 160 from Stäubli.

All you need to do is update the urdf with the information for your particular robot model, and make sure you create some meshes that match it. As Stäubli provides 3D models of their manipulators on their website, this should not be too difficult (but watch the origins and orientations of your links).

If you are not familiar with urdf, you might want to take a look at urdf/Tutorials. If you are, perhaps Create a URDF for an Industrial Robot could provide you some more insight into how that knowledge was used to create the staubli_rx160_support package.

edit flag offensive delete link more

Comments

What I'm doing actually is that I'm using a package for Robot_1 with Robot_2 (mine). this is why I get that Error.. I'm looking for where can I get those parameters that you're taking about :D

ROSkinect gravatar image ROSkinect  ( 2014-11-19 09:16:25 -0500 )edit

So you are using the urdf of the RX160, with your own meshes? No, that will not work (most of the time).

There are multiple ways to get details on the kinematic structure: the Staubli Studio can show them, or you can use the General Description section of the Instruction Manual.

gvdhoorn gravatar image gvdhoorn  ( 2014-11-19 13:28:10 -0500 )edit

Yes exactly that's what I'm doing ! I have 3D model of my robot working in Staubli studio so I have all details about it. But how can I use or edit your package !?

ROSkinect gravatar image ROSkinect  ( 2014-11-19 13:50:48 -0500 )edit

You could use the RX160 urdf as a template, but update the joint transforms with the data for your particular model. Be sure to update the axis definitions as well, otherwise it won't work. The studio should have a textbox somewhere it can show the DH params, which you can use to update the urdf.

gvdhoorn gravatar image gvdhoorn  ( 2014-11-19 14:06:50 -0500 )edit

it not really clear where should I go.. but I'll look at that :D Thank you so much :D

ROSkinect gravatar image ROSkinect  ( 2014-11-19 14:34:20 -0500 )edit

First create a copy of the RX160 pkg, and name it after your own model. Then start updating all file-, urdf, launch file and xacro names to match your own model. Now update the urdf with the proper lengths of links and the joint limits of your model. You should end up with a pkg just for your robot.

gvdhoorn gravatar image gvdhoorn  ( 2014-11-19 14:42:42 -0500 )edit

oh that's more clear, I can't thank you enough :D

ROSkinect gravatar image ROSkinect  ( 2014-11-19 15:21:38 -0500 )edit

@gvdhoorn I worked little bit today on your package but I don't really get any new results, I wanna ask you: when I delete all directories and files except rx160.urdf and meshes; it still wokring ! How can you explain that ! and in the urdf we can't do lot of things !

ROSkinect gravatar image ROSkinect  ( 2014-11-20 08:15:37 -0500 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 2014-11-19 08:55:47 -0500

Seen: 856 times

Last updated: Nov 20 '14