30CbUndoLastTrajectory::~CbUndoLastTrajectory() {}
32void CbUndoLastTrajectory::generateTrajectory() {}
34void CbUndoLastTrajectory::onEntry()
36 CpTrajectoryHistory * trajectoryHistory;
37 this->requiresComponent(trajectoryHistory);
38 this->requiresClient(movegroupClient_);
40 if (trajectoryHistory->getLastTrajectory(backIndex_, trajectory))
43 getLogger(),
"[" << getName() <<
"] reversing last trajectory [" << backIndex_ <<
"]");
45 auto initialTime = trajectory.joint_trajectory.points.back().time_from_start;
47 reversed = trajectory;
49 std::reverse(reversed.joint_trajectory.points.begin(), reversed.joint_trajectory.points.end());
51 for (
auto & jp : reversed.joint_trajectory.points)
53 jp.time_from_start = rclcpp::Duration(initialTime) - rclcpp::Duration(jp.time_from_start);
56 this->executeJointSpaceTrajectory(reversed);
61 getLogger(),
"[" << getName() <<
"] could not undo last trajectory, trajectory not found.");