17 #ifndef JOINT_LIMITS__JOINT_SATURATION_LIMITER_HPP_
18 #define JOINT_LIMITS__JOINT_SATURATION_LIMITER_HPP_
23 #include "joint_limits/joint_limiter_interface.hpp"
24 #include "rclcpp/clock.hpp"
25 #include "rclcpp/duration.hpp"
36 template <
typename LimitsType>
46 JOINT_LIMITS_PUBLIC
bool on_init()
override {
return true; }
49 const trajectory_msgs::msg::JointTrajectoryPoint & )
override
70 trajectory_msgs::msg::JointTrajectoryPoint & current_joint_states,
71 trajectory_msgs::msg::JointTrajectoryPoint & desired_joint_states,
72 const rclcpp::Duration & dt)
override;
83 JOINT_LIMITS_PUBLIC
bool on_enforce(std::vector<double> & desired_joint_states)
override;
86 rclcpp::Clock::SharedPtr clock_;
89 template <
typename LimitsType>
92 clock_ = std::make_shared<rclcpp::Clock>(rclcpp::Clock(RCL_ROS_TIME));
95 template <
typename LimitsType>
Definition: joint_limiter_interface.hpp:36
Definition: joint_saturation_limiter.hpp:38
JOINT_LIMITS_PUBLIC bool on_enforce(trajectory_msgs::msg::JointTrajectoryPoint ¤t_joint_states, trajectory_msgs::msg::JointTrajectoryPoint &desired_joint_states, const rclcpp::Duration &dt) override
Enforce joint limits to desired position, velocity and acceleration using clamping....
JOINT_LIMITS_PUBLIC bool on_enforce(std::vector< double > &desired_joint_states) override
Enforce joint limits to desired arbitrary physical quantity. Additional, commonly used method for enf...
JOINT_LIMITS_PUBLIC bool on_configure(const trajectory_msgs::msg::JointTrajectoryPoint &) override
Method is realized by an implementation.
Definition: joint_saturation_limiter.hpp:48
JOINT_LIMITS_PUBLIC ~JointSaturationLimiter()
Destructor.
Definition: joint_saturation_limiter.hpp:96
JOINT_LIMITS_PUBLIC bool on_init() override
Method is realized by an implementation.
Definition: joint_saturation_limiter.hpp:46
JOINT_LIMITS_PUBLIC JointSaturationLimiter()
Constructor.
Definition: joint_saturation_limiter.hpp:90
Definition: joint_limiter_interface.hpp:31