The tesseract::DescartesVertexEvaluator is a class that is confusingly similar to the descartes::StateEvaluator and is used to do effectively the same task as the descartes::StateEvaluator but inside the tesseract::DescartesRobotSampler class. This is not really necessary because states will get pruned within the descartes solver itself before edges are added (here fi).
To eliminate this confusion and additional unnecessary class, my suggestion is that we:
The
tesseract::DescartesVertexEvaluator
is a class that is confusingly similar to thedescartes::StateEvaluator
and is used to do effectively the same task as thedescartes::StateEvaluator
but inside thetesseract::DescartesRobotSampler
class. This is not really necessary because states will get pruned within thedescartes
solver itself before edges are added (here fi).To eliminate this confusion and additional unnecessary class, my suggestion is that we:
tesseract::DescartesJointLimitsVertexEvaluator
to be adescartes::StateEvaluator
DescartesVertexEvaluator
.Also, we should not be adding arbitrary vertex evaluators to the robot sampler when the user chooses a
nullptr
for their vertex evaluator selection:https://github.com/tesseract-robotics/tesseract_planning/blob/fcaf31739f285244b24091f76ee31900c051f081/tesseract_motion_planners/descartes/include/tesseract_motion_planners/descartes/impl/profile/descartes_default_plan_profile.hpp#L205-L219
This should become a non-issue if we remove the class.