37 Ramping::apply(core::GlobalTrajectory& trajectory,
const float startVelocity)
const
39 std::vector<std::pair<std::size_t, float>> fixedVelocities;
41 if (config_.enableRampingStart)
43 fixedVelocities.emplace_back(0, startVelocity);
45 if (config_.enableRampingEnd)
47 fixedVelocities.emplace_back(trajectory.points().size() - 1,
48 config_.boundaryVelocity);
50 if (config_.enableRampingCorners)
52 const auto& corners = trajectory.calculateCorners(config_.cornerLimit);
54 for (
const auto& [idx,
angle] : corners)
56 fixedVelocities.emplace_back(idx, config_.cornerVelocity);
60 trajectory.applyRamping(fixedVelocities, config_.rampLength);
This file is part of ArmarX.
double angle(const Point &a, const Point &b, const Point &c)