Hi Josh,
On 26.01.2017 20:19,
joshuama...@u.northwestern.edu wrote:
> Hello Martin,
>
> Thanks for getting back to me. Are there really that many calls to the
> IK plugin for computing a Cartesian path? I imagined it would do it for
> the waypoints you specify, taking into account the ee_step parameter,
> then compute the Cartesian path in joint space.
At least if you specify Cartesian constraints (like "keep the tool
center point upright") it does, since it cannot plan in joint space
then. I'm not sure about the Cartesian path though.
> If you don't recommend calling the service from within the plugin, is it
> possible to modify the code in my service to be written for an IK plugin?
If it's really so much simpler for you to try wrapping your service
instead of wrapping your code, then you can of course try that first and
see if it's too slow.
But I think it shouldn't be too much work to simply take your existing
service implementation and put it into the plugin directly, right? The
hard part will be to write your own kinematics plugin. Once you've got
that, and it works by wrapping your service, I don't see why it should
be hard to take out the service calls and replace them by direct
function calls to your service implementation.
You have to implement the kinematics::KinematicsBase interface. Some
resources:
http://docs.ros.org/kinetic/api/moveit_core/html/classkinematics_1_1KinematicsBase.html
http://moveit.ros.org/documentation/plugins/#kinematicsbase
https://blog.nymble.in/tartupwriting-an-inverse-kinematics-solver-for-ros-36153deb922f#.3knjhhfas
Cheers,
Martin