36 #include <control_msgs/FollowJointTrajectoryGoal.h> 37 #include <control_msgs/JointTolerance.h> 38 #include <trajectory_msgs/JointTrajectoryPoint.h> 39 #include <control_msgs/FollowJointTrajectoryAction.h> 42 #include <cartesian_control_msgs/CartesianTolerance.h> 43 #include <cartesian_control_msgs/CartesianTrajectoryPoint.h> 44 #include <cartesian_control_msgs/FollowCartesianTrajectoryGoal.h> 45 #include <cartesian_control_msgs/FollowCartesianTrajectoryAction.h> 57 using Tolerance = std::vector<control_msgs::JointTolerance>;
62 using GoalConstPtr = control_msgs::FollowJointTrajectoryGoalConstPtr;
67 using Tolerance = cartesian_control_msgs::CartesianTolerance;
72 using GoalConstPtr = cartesian_control_msgs::FollowCartesianTrajectoryGoalConstPtr;
105 template <
class TrajectoryInterface>
108 scaled_controllers::SpeedScalingInterface>,
109 public std::conditional<std::is_same<TrajectoryInterface, hardware_interface::JointTrajectoryInterface>::value,
110 JointBase, CartesianBase>::type
124 typename std::conditional<std::is_same<TrajectoryInterface, hardware_interface::JointTrajectoryInterface>::value,
152 void executeCB(
const typename Base::GoalConstPtr& goal);
191 void monitorExecution(
const typename Base::TrajectoryFeedback& feedback);
201 bool withinTolerances(
const typename Base::TrajectoryPoint& error,
const typename Base::Tolerance& tolerances);
210 bool isValid(
const typename Base::GoalConstPtr& goal);
224 std::unique_ptr<actionlib::SimpleActionServer<typename Base::FollowTrajectoryAction> >
action_server_;
std::unique_ptr< actionlib::SimpleActionServer< typename Base::FollowTrajectoryAction > > action_server_
ros::Duration current
Real duration of the current action.
void init(const M_string &remappings)
std::vector< control_msgs::JointTolerance > Tolerance
std::vector< std::string > joint_names_
A ROS controller for forwarding trajectories to a robot for interpolation.
Container for easy time management.
cartesian_control_msgs::CartesianTrajectoryPoint TrajectoryPoint
hardware_interface::CartesianTrajectoryFeedback TrajectoryFeedback
std::unique_ptr< scaled_controllers::SpeedScalingHandle > speed_scaling_
cartesian_control_msgs::CartesianTolerance Tolerance
Base::Tolerance goal_tolerances_
std::atomic< bool > done_
control_msgs::FollowJointTrajectoryAction FollowTrajectoryAction
trajectory_msgs::JointTrajectoryPoint TrajectoryPoint
control_msgs::FollowJointTrajectoryGoalConstPtr GoalConstPtr
control_msgs::FollowJointTrajectoryFeedback JointTrajectoryFeedback
FeedbackType for joint-based trajectories.
void update(controller_manager::ControllerManager &cm, const ros::TimerEvent &e)
ExecutionState
Hardware-generic done flags for trajectory execution.
cartesian_control_msgs::FollowCartesianTrajectoryResult FollowTrajectoryResult
ActionDuration action_duration_
Base::Tolerance path_tolerances_
cartesian_control_msgs::FollowCartesianTrajectoryGoalConstPtr GoalConstPtr
control_msgs::FollowJointTrajectoryResult FollowTrajectoryResult
TrajectoryInterface * trajectory_interface_
cartesian_control_msgs::FollowCartesianTrajectoryAction FollowTrajectoryAction
bool isValid(const trajectory_msgs::JointTrajectoryPoint &point, const unsigned int joint_dim)
cartesian_control_msgs::FollowCartesianTrajectoryFeedback CartesianTrajectoryFeedback
FeedbackType for Cartesian trajectories.
hardware_interface::JointTrajectoryFeedback TrajectoryFeedback
ros::Duration target
Target duration of the current action.