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

Initial commit of KUKA KR120 support package #5

Merged
merged 1 commit into from
Nov 19, 2014

Conversation

tingelst
Copy link
Contributor

Added support for the KUKA KR120 R2500 PRO manipulator
Meshes are based on the Unigraphics files found at http://www.kuka-robotics.com/res/sps/8ba89f50-3ccd-4361-9b9a-60bdd0662ac6_KR120_R2500_pro.prt.zip
Note that the rotation directions of the KUKA manipulators are different than e.g. the ABB manipulator. For joint 1 this is implemented using .


catkin_package()

find_package(roslaunch)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is only needed if you have roslaunch_add_file_check(..) checks.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Shall I remove find_package(roslaunch) ?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you don't intend to add any roslaunch checks it is unneeded, so you can remove it.

@gavanderhoorn
Copy link
Member

@tingelst: thanks for this. The package looks ok, but there are some minor things (see inline comments).

In addition to those:

  1. Have you considered adding a base_link -> base transform to the xacro? This would make it possible to express / correlate the tool0 pose in / to the Cartesian space of the KUKA controller. See tool0: ROS-I vs industrial controllers (discussion) ros_industrial_issues#24 for the discussion.
  2. Direction of face normals of the collision STLs: all STLs seem to have normals pointing inwards (in addition to correct ones pointing outside). I'm not sure whether that can influence collision detection in any way, but it results in meshes with 'holes' in them when visualising the robot model in RViz. Meshlab can easily clean these up for you.

@tingelst
Copy link
Contributor Author

I added a base to base_link joint. This corresponds to the $ROBROOT coordinate system used by KUKA. The use of the name base can become confusing as $BASE is used for user defined coordinate systems in the KUKA KRC controllers.

@gavanderhoorn
Copy link
Member

The use of the name base can become confusing as $BASE is used for user defined coordinate systems in the KUKA KRC controllers.

Yes that is unfortunate, but unavoidable: we thought about alternative names for it, but we'd probably come up with something that was used in some other control system.

@gavanderhoorn
Copy link
Member

@tingelst: I just checked the collada visual models: do they render with washed out colours for you as well? I'm not getting the deep red I was expecting.

@tingelst
Copy link
Contributor Author

Yes, I get the same washed out effect in RViz. I have chosen to have the colors like that as they look good in gazebo and correspond to the RAL colors used by KUKA on the real robots. The washed out effect comes from the Phong shading parameters used. The same issue is presented in this blog post. We can get more 'popping' colors by changing the ambient, diffuse and specular parameters. The youbot gazebo model use more bright parameters.

@tingelst
Copy link
Contributor Author

The URDF and the meshes are now updated and corresponds to the kinematics on the KRC controller

@gavanderhoorn
Copy link
Member

@tingelst wrote:

I added a base to base_link joint. This corresponds to the $ROBROOT coordinate system used by KUKA. The use of the name base can become confusing as $BASE is used for user defined coordinate systems in the KUKA KRC controllers.

Forgive my ignorance (I'm not too familiar with KUKA controllers), but does the $ROBROOT ever change? I'm just trying to gauge what the re-usability of a ROS-I provided urdf for KUKA robots is. If it can change (in normal usage), we should probably document this somewhere.

@gavanderhoorn
Copy link
Member

@tingelst wrote:

Yes, I get the same washed out effect in RViz. I have chosen to have the colors like that as they look good in gazebo and correspond to the RAL colors used by KUKA on the real robots. The washed out effect comes from the Phong shading parameters used. [..]

Ah ok. I figured something like that was going on.

+1 on using the official RAL colours, this should definitely be the default practice when creating meshes / urdfs.

We can address the shading later.

@gavanderhoorn
Copy link
Member

@tingelst: this is looking good. Two minor things:

  1. we can do this in a later commit, but some of the collada meshes have a very high vertex / face count (link_1.dae has over 100k faces). This is often the case with meshes derived from CAD models. Most of the time the face count can be reduced significantly without affecting the appearance, resulting in smaller filesizes and faster loading times. I can do this later (almost trivial in Blender, using the Decimate modifier).
  2. Could you squash the later commits in this PR into the Initial commit of KUKA KR120 support package commit? Then just force push. This makes for a cleaner history when merging.

@tingelst
Copy link
Contributor Author

@gavanderhoorn Sure. I will squash the commits when I am back in the office on Monday.

@gavanderhoorn
Copy link
Member

Great, thanks a lot. Really appreciate all the effort @tingelst.

@tingelst
Copy link
Contributor Author

I have now updated the joint names and squashed the commits.

@gavanderhoorn
Copy link
Member

Thanks @tingelst.

This may not have been clear, but we use the joint_ and link_ prefixes for joint and links respectively, independent of what the mfg uses to refer to them. In this case, that would become joint_a1, joint_a2, etc. I can make the change later, if you want.

Also: could it be that the urdf in the commit has not been regenerated after your recent changes? The base link is not present in the urdf fi, while it is in the xacro.

@tingelst
Copy link
Contributor Author

@gavanderhoorn: Yeah, I misunderstood that. Its now updated to joint_a1 etc. Also updated the urdf.

Added support for the KUKA KR120 R2500 PRO manipulator
Meshes are based on the Unigraphics files found at http://www.kuka-robotics.com/res/sps/8ba89f50-3ccd-4361-9b9a-60bdd0662ac6_KR120_R2500_pro.prt.zip
Note that the rotation directions of the KUKA manipulators are different than e.g. the ABB manipulator. For joint 1 this is implemented using <axis xyz="0 0 -1"/>.

Fixed face normals in collision meshes

Removed build dependency on roslaunch
Added run dependency on xacro
Updated package.xml to specify the supported variant

Added base link that corresponds to $ROBROOT coordinate system in the
KRC controllers.
Added comment that tool0 corresponds to the $FLANGE coordinate system.

Move joint origins to reflect the parameters used by KUKA in the KRC4
controller

Updated urdf and meshes s.t. the kinematics correspond to the kinematics
on the KRC controller.

Renamed joints to A1, A2, ...

Renamed joints to joint_a1, joint_a2, ...

Updated urdf from xacro
@gavanderhoorn
Copy link
Member

+1 from me @tingelst.

We'll deal with shading & mesh complexity later, as those issues do not prevent anyone from using the support package.

I'll merge the PR.

gavanderhoorn added a commit that referenced this pull request Nov 19, 2014
Initial commit of KUKA KR120 support package.
@gavanderhoorn gavanderhoorn merged commit 73ef2de into ros-industrial:hydro-devel Nov 19, 2014
@gavanderhoorn
Copy link
Member

Thanks again @tingelst. Looking forward to your other PRs.

@tingelst
Copy link
Contributor Author

@gavanderhoorn This is great! More PRs coming soon.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

3 participants