Avoid segfault if TimeParameterization is not set

This commit is contained in:
Robert Haschke 2024-07-01 13:11:14 +02:00
parent b1336dc210
commit a84479cc58
2 changed files with 6 additions and 4 deletions

View File

@ -121,8 +121,9 @@ PlannerInterface::Result CartesianPath::plan(const planning_scene::PlanningScene
result->addSuffixWayPoint(waypoint, 0.0);
auto timing = props.get<TimeParameterizationPtr>("time_parameterization");
timing->computeTimeStamps(*result, props.get<double>("max_velocity_scaling_factor"),
props.get<double>("max_acceleration_scaling_factor"));
if (timing)
timing->computeTimeStamps(*result, props.get<double>("max_velocity_scaling_factor"),
props.get<double>("max_acceleration_scaling_factor"));
if (achieved_fraction < props.get<double>("min_fraction")) {
return { false, "min_fraction not met. Achieved: " + std::to_string(achieved_fraction) };

View File

@ -103,8 +103,9 @@ PlannerInterface::Result JointInterpolationPlanner::plan(const planning_scene::P
return { false, "Goal state is out of bounds!" };
auto timing = props.get<TimeParameterizationPtr>("time_parameterization");
timing->computeTimeStamps(*result, props.get<double>("max_velocity_scaling_factor"),
props.get<double>("max_acceleration_scaling_factor"));
if (timing)
timing->computeTimeStamps(*result, props.get<double>("max_velocity_scaling_factor"),
props.get<double>("max_acceleration_scaling_factor"));
// set max_effort on first and last waypoint (first, because we might reverse the trajectory)
const auto& max_effort = properties().get("max_effort");