Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remove DescartesVertexEvaluator which duplicates descartes::StateEvaluator #476

Open
marip8 opened this issue Jul 18, 2024 · 1 comment
Open

Comments

@marip8
Copy link
Contributor

marip8 commented Jul 18, 2024

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:

Also, we should not be adding arbitrary vertex evaluators to the robot sampler when the user chooses a nullptr for their vertex evaluator selection:

std::shared_ptr<descartes_light::WaypointSampler<FloatType>> sampler;
if (vertex_evaluator == nullptr)
{
auto ve = std::make_shared<DescartesJointLimitsVertexEvaluator>(prob.manip->getLimits().joint_limits);
sampler = std::make_shared<DescartesRobotSampler<FloatType>>(mi.working_frame,
cartesian_waypoint,
target_pose_sampler,
prob.manip,
ci,
mi.tcp_frame,
tcp_offset,
allow_collision,
ve,
use_redundant_joint_solutions);
}

This should become a non-issue if we remove the class.

@Levi-Armstrong
Copy link
Contributor

I do not have objections to your proposed changes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants