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

Update ur_kinematics #453

Closed

Conversation

Yuki-cpp
Copy link

@Yuki-cpp Yuki-cpp commented Sep 4, 2019

Summary

ur_kinematics can only support one UR robot type without being recompiled and uses old style C++ code. Moreover the python bindings are not functional. It also doesn't support the e-series robots. In this PR, we aim at modernizing this package, fixing those 3 issues.

Details

Here is what was done:

  • Updated the UR robot parameter handling system to support robot selection at run-time instead of compile time. Added parameters for the e-series robots
  • Added pybind11 python bindings
  • Added a solution exploration function to expand the 8 original solutions into the full set of solutions

Warning

Since robot parameters are handled at run-time instead of compile time, a small over-head occurs reducing the time performances by a few percents. However, with C++20 we could remove said over head with the addition of class types in non-type template parameters

Related issue : #442

@gavanderhoorn
Copy link
Member

First: thank you for the PR and the work, this looks like a good improvement.

Three initial comments:

@gavanderhoorn
Copy link
Member

Apparently there is a Catkin-wrapped version of pybind11: ipab-slmc/pybind11_catkin. It's also been released into both Kinetic and Melodic.

@gavanderhoorn
Copy link
Member

Starting with Bionic we could depend on ros/rosdistro#22261.

@jbeck28
Copy link

jbeck28 commented Jan 4, 2020

I'm having issues using the kinematics plugin for a UR5e. Specifically, it seems the included kinematics.yaml is actually using KDL rather than the UR5e Kinematics plugin. When I modified this through setup assistant to use the UR5e kinematics plugin, I found that upon moving the interactive marker in RViz, the end effector becomes strangely oriented, and I can never find non-approximate IK solutions.

Is this something anyone else has encountered?

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

Successfully merging this pull request may close these issues.

3 participants