Closed marip8 closed 4 years ago
Really nice extension, thank you! It's going to make the plugin so much more useful.
If it's ok with you, I will go through it and try it out this weekend. At first glance, I have some questions:
This package is a really useful addition to MoveIt, so I'm happy to contribute. In response to your questions:
- Is there a specific reason you targeted kinetic? Just out of curiosity. #53
I happen to still be developing on a Kinetic machine, so it was mostly out of convenience. If the melodic-devel
branch is the "official" branch, I can submit a PR against that instead.
- You made quite some improvements that are unrelated to the railed plugin, could you maybe split those out into a separate pull request that we can merge first?
No problem. They're already separated into independent commits, so that shouldn't be difficult.
- Could you add an example urdf to kuka_test_resources so I can easily add some tests. (It does not have to be a kuka robot, I should change the name...).
Will do
I happen to still be developing on a Kinetic machine, so it was mostly out of convenience. If the melodic-devel branch is the "official" branch, I can submit a PR against that instead.
No problem, you can leave it here, I can port it to melodic when finished. You're just the first kinetic user I heard of, so I was curious :)
I wonder why your plugin is specific to opw? couldn't you just write a generic wrapper that uses any ik for the robot and sampling for the rail? See https://github.com/ros-planning/moveit/pull/612/files for an example
@simonschmeisser interesting point; I hadn't thought about it that way. That makes a lot of sense, and I don't think there is anything specific from the OPW plugin that I am using (other than some easily reproducible utility functions). I'll look into that a little more and see what I can come up with. Thanks for the idea and reference
It ended up being fairly straightforward to implement the sampling kinematics plugin suggested by @simonschmeisser, so I created a new repository for it here. Feel free to check it out or give feedback about the implementation. There is still some work to be done, but it's in a functional state for my current use-case. I'll close this PR since this ended up being better suited as a "stand-alone" feature.
That looks really nice indeed! I'll bookmark it for when the next customer comes around with a rail!
This PR implements a new OPW kinematics plugin specifically for OPW robots mounted on a single external axis. The plugin samples the external axis at the specified discretization and uses the OPW kinematics plugin to solve IK at each discrete joint position, returning the solution closest to the seed in joint space.
This plugin is configured with the existing OPW parameters as well as a string for the planning group of the OPW robot. The assumption is that a separate planning group exists which defines only the OPW robot joints. Currently only a single external axis is supported, but this plugin could be modified relatively easily to work with an arbitrary number of external axis joints