Robotics StackExchange | Archived questions

What is the difference between joint_weights (KDLKinematics parameter) and distance_factor_ (JointModel class of moveit) parameter?

Hi all

What is exactly the difference between the jointweights (used to weight the joints in the kinematics plugin specified in the kinematics.yaml file and used in https://github.com/ros-planning/moveit/blob/master/moveitkinematics/kdlkinematicsplugin/src/kdlkinematicsplugin.cpp#L82) and the distancefactor (used to weight the joints when calculating the distance between two states in the configuration space (see https://github.com/ros-planning/moveit/blob/master/moveit_core/robot_model/src/joint_model_group.cpp#L407)?

I want to set the joint weights in a way that one unit movement of the joint closer to the end-effector have a smaller probability for collision than base joint unit movement (thus I want to set the joints in relation to the level arm distance for a kinematic chain robot). I figured out that setting the jointweights as described, they are only used within the kinematicplugin (moveitcore) but have no influence on the distancefactor_ and thus no influence on the distance calculation (distance metric) for the OMPL planner. Are the joint_weights only used for the inverse kinematics or also have an influence how it is sampled (when using the JointModel state space)? Why are they not coupled together or what are their differences?

Does it make sense to set the jointweights and the distancefactor_ equally when planning with OMPL (JointModel state space) and KDLkinematics plugin?

Thanks for the help

Asked by gabrielK on 2019-11-28 05:57:38 UTC

Comments

Related discussion on the MoveIt tracker: ros-planning/moveit#1446.

Asked by gvdhoorn on 2019-11-28 09:39:55 UTC

Thank you, I will continue the discussion there.

Asked by gabrielK on 2019-11-30 04:28:36 UTC

Answers