Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

robot model for lbr_iiwa_7_r800 #117

Open
wants to merge 9 commits into
base: indigo-devel
from

Conversation

@jwhendy
Copy link

jwhendy commented Mar 13, 2018

This adds a robot model for the lbr_iiwa_7_r800, attempting to address some of the joint origin requests noted in PR #31 .

Please take a look and let me know of changes that would be helpful. This is my first robot model experience... some questions already:

  • I changed CMakeLists.txt somewhat significantly from what it was, which was quite different from the others I used as a reference. Please take a look there and see if that was correct.
  • I based my _macro.xacro on the existing one for the lwr_iiwa_14_r820 and I couldn't figure out how they calculated their joint limits. For example, joint A1 is +/- 170 deg. 170*math.pi/180 in python is 2.967, but 2.9668 was listed in the r820 xacro, which does't match 170*3.[14159]/180 with any number of digits. Let me know if there is a common convention for digits/accuracy. Done: used ${radians(foo)} macros per suggestion.
  • after more exploring of other models, is it preferred to set a material? I see that the kr3 uses various defined materials, for example. Is red annoying to people? If so, is there a recommended generic material that's preferred?
  • the Kuka manual (pg 13) was confusing. Note their diagram for joint offsets:

2018-03-13_175941

I interpreted this to mean it should be 1266mm from the base origin to the point of the Media Flange (MF) attachment, and that the final link length would be variable depending on the attachment type. The indicate a variable dimension, MF, in an odd place (it appears to be the entire last link). In addition, the actual model for the basic flange is 1266mm from the base to tool0:

kuka_iiwa_r800_7

The test launch file works fine, but I wanted to point this out anyway. It could be a nuisance for making this model more flexible with respect to the other media flange options.

@BrettHemes

This comment has been minimized.

Copy link
Member

BrettHemes commented Mar 14, 2018

I based my _macro.xacro on the existing one for the lwr_iiwa_14_r820 and I couldn't figure out how they calculated their joint limits. For example, joint A1 is +/- 170 deg. 170math.pi/180 in python is 2.967, but 2.9668 was listed in the r820 xacro, which does't match 1703.[14159]/180 with any number of digits. Let me know if there is a common convention for digits/accuracy.

As suggested by @gavanderhoorn in #108, you can use Jade+ expressions in these macros such as ${radians(170)} here.

the Kuka manual (pg 13) was confusing. Note their diagram for joint offsets:

Strange indeed... is link_a6 the same regardless of the flange chosen?

@jwhendy

This comment has been minimized.

Copy link
Author

jwhendy commented Mar 14, 2018

Oh, neat. I'll adjust this and #118 with this newfound macros knowledge and await further input on whether things are actually sane... I'll add one more check to the original question on materials/colors.

@BrettHemes

This comment has been minimized.

Copy link
Member

BrettHemes commented Apr 14, 2018

the Kuka manual (pg 13) was confusing. Note their diagram for joint offsets:

Have you made any progress on this? Maybe ask Kuka? Is there the same issue with the 14? If so I can measure our physical robot as a sanity check but don't have access to a 7...

@jwhendy

This comment has been minimized.

Copy link
Author

jwhendy commented Apr 14, 2018

@BrettHemes Just emailed them the summary of what I see. In doing so, I think it's an error in the manual.

  • the iiwa manual on pg 13 (pic above) shows 1266mm from the base_link to the end of link_6. So the total robot should be 1266 + [media flange thickness]. The CAD measures 1266 from base_link to tool_tip.

  • I just noticed that the media flange manual has the same drawing on pg 30, but it shows 1266mm from base_link to tool_tip.

I wonder if the media flange drawing is correct (it matches the CAD) and there's a mistake in the regular iiwa manual.

The issue also exists for the 14. Note the iiwa manual definition of the 1306mm dimension:

2018-04-13_214309

And here's the media flange manual definition of the same 1306mm dimension:

2018-04-13_214324

It can't be 1306mm from the base_link to the end of link_6 and to tool_0.

@jwhendy

This comment has been minimized.

Copy link
Author

jwhendy commented Apr 20, 2018

I emailed Kuka and received a response:

...the Option_Media_Flange_en.pdf book is correct as is shown below. It includes the basic media flange at 1266mm. Notice how this dimension changes when using a touch flange. I have double checked this on an actual robot.

Looking through the media flange options, it looks like joint_a6 to tool_tip is going to be 126 or 152mm depending on the attachment.

Given this, any guidance on allowing the specification of a flange option in the xacro? As-is, the 126mm is hard-coded in, which isn't correct for the bigger media flanges. Alternatively, joint_a6 to joint_a7 will be fixed, and I could define that translation and a last translation from joint_a7 to tool_tip that would be more conducive to passing a flange option to the xacro.

@gavanderhoorn

This comment has been minimized.

Copy link
Member

gavanderhoorn commented Apr 20, 2018

If this is just a single parameter, you could add it with a default value to the macro.

An alternative might be to actually make the flange a separate xacro macro. Seeing as there are so many of them, and they also all have different shapes, that might even make sense. A parameter for the macro modelling the main robot would then determine which of those gets attached.

Or, robot + flange combinations could be provided in separate xacros that just tie two of them together (ie: a simple macro that combines the base robot with a particular media flange). Consumers of the macros would then use the combinations, instead of having to provide an argument.

@gavanderhoorn

This comment has been minimized.

Copy link
Member

gavanderhoorn commented Apr 20, 2018

There are a few xacros of IIWAs available to the ROS community. It might be an idea to see how they approached this.

@jwhendy

This comment has been minimized.

Copy link
Author

jwhendy commented May 16, 2018

@gavanderhoorn or @BrettHemes : could either of you nudge me in the right direction on this?

There are a few xacros of IIWAs available to the ROS community.

I'm not sure what's meant by this... search github? Is this a reference to a package repo I'm not aware of? I'm good on the color/materials and have the CAD for the pneumatic touch flange on both the R800 and R820. Once I have a definitive route on setting up the base robot (base_link through link_6) and the media flange, I think both this and #118 will be set.

Two options from above as I understand them:

  • xacro that takes an argument for the eef; defaults to, say, the basic flange, and the user can pass the filename of an alternate media flange if desired, which is loaded as a parameter in the main xacro
  • same gist, but would provide a convenience xacro that does this automatically; so we have a xacro per eef, and each one combines the base robot template with the respective eef in the background

Votes for either/or, preference for a different way, or suggestion on where the referenced community solutions are so I could take a look there?

@jwhendy

This comment has been minimized.

Copy link
Author

jwhendy commented May 19, 2018

This now matches the framework used in the 14_r820. One note is that the new lbr_iiwa_flanges_macro.xacro will require merging... I propose using it to provide the flange macro for both the r800 and r820. If you merge in #118 , I can rebase and add these to it. Technically the flanges might be identical, but I didn't know so I'm treating them separately in their own foo/meshes stack.

Other than that, these are identical now and can be built upon with additional flanges pretty easily.

@BrettHemes

This comment has been minimized.

Copy link
Member

BrettHemes commented May 19, 2018

If the flange meshes are shared (which I imagine they are), I vote for putting these in a shared common folder a la the Agilus series (i.e., meshes/lbr_iiwa/...)

@BrettHemes

This comment has been minimized.

Copy link
Member

BrettHemes commented May 19, 2018

👍, waiting on #118 before working on getting this all wrapped up

@chiliii

This comment has been minimized.

Copy link

chiliii commented Feb 27, 2019

Hey guys,
is there something new in this PR and can I help?

@jwhendy

This comment has been minimized.

Copy link
Author

jwhendy commented Feb 28, 2019

@chiliii I think we just need @gavanderhoorn to get enough time to take a look. I did 3 PRs around the same time and they are all sitting.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
4 participants
You can’t perform that action at this time.