[Fwd: Re: parameters for ikfast plugins using private NodeHandles]

Skip to first unread message

G.A. vd. Hoorn - 3ME

Mar 14, 2015, 6:15:40 AM3/14/15
to moveit-users
think the CC got lost.

-------- Original Message --------
Subject: Re: parameters for ikfast plugins using private NodeHandles
Date: Fri, 13 Mar 2015 12:05:48 -0700
From: Sachin Chitta <robot....@gmail.com>
To: G.A. vd. Hoorn - 3ME <g.a.van...@tudelft.nl>
References: <54F08304...@tudelft.nl>

Hi Gijs,

per-plugin parameters should be stored and retrieved from the private
namespace of the node where the kinematics base plugin is loaded. I agree
that this is not a great solution since it requires you to include
kinematics.yaml into the private namespace of every node that you launch
that might be using it - but that's the way its setup right now for the
kinematics plugins (as you pointed out).

per-group parameters should go inside an additional group namespace - but
the kinematics plugin loader actually searches for these on the param
so they don't need to be nested in the node namespace.

Best Regards,

On Fri, Feb 27, 2015 at 6:45 AM, G.A. vd. Hoorn - 3ME <
g.a.van...@tudelft.nl> wrote:

> Hi,
> reading the source of some KinematicsBase based ik plugins, I noticed they
> are accessing some parameters using private NodeHandles. The default
> KDLKinematicsPlugin for instance [1], and KDLCKinematicsPlugin (by Dave
> Coleman) [2] (although: "never fully finished").
> Now I am confused as to how this should work: I assume that the 'private
> namespace' of a KinematicsBase plugin is (ultimately) actually the
> namespace of the node in which it is loaded.
> I played a bit with the KDL plugin and a sample MoveGroup config, and it
> looks like the KDL plugin tries to find the 'max_solver_iterations'
> parameter under '/move_group' (when loaded there). But other parameters
> (such as 'position_ik_only') are prefixed with the actual group name (so
> 'manipulator' or whatever is configured in kinematics.yaml).
> Interestingly, the template used for moveit_ikfast generated plugins
> creates a NodeHandle that already appends the group_name to its private
> namespace [3], so all parameters are retrieved from '~/$GROUP_NAME'.
> Now for my sanity (:)): where should per-plugin (so not per-group)
> parameters be set (and stored): in kinematics.yaml, on the node that loads
> the plugin, or somewhere else entirely?
> thanks,
> Gijs
> [1] https://github.com/ros-planning/moveit_ros/blob/
> 025ef64416ab789fab132b818bf9a940cfec3fa2/planning/kdl_
> kinematics_plugin/src/kdl_kinematics_plugin.cpp#L212-L213
> [2] https://github.com/davetcoleman/kdlc_kinematic_plugin/blob/
> a267e3908f85b79eb490af08812de6fd25a94c7f/src/kdlc_
> kinematics_plugin.cpp#L192-L193
> [3] https://github.com/ros-planning/moveit_ikfast/blob/
> 50d0cbaaebc8ce5c0ddd8d74de8dd6a9e1805449/templates/ikfast61_
> moveit_plugin_template.cpp#L267

Reply all
Reply to author
0 new messages