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"
36template <
typename Jo
intLimitsStateDataType>
48 bool on_configure(
const JointLimitsStateDataType & current_joint_states)
override
50 prev_command_ = current_joint_states;
70 const JointLimitsStateDataType & current_joint_states,
71 JointLimitsStateDataType & desired_joint_states,
const rclcpp::Duration & dt)
override;
80 std::lock_guard<std::mutex> lock(mutex_);
81 prev_command_ = JointLimitsStateDataType();
85 rclcpp::Clock::SharedPtr clock_;
86 JointLimitsStateDataType prev_command_;
90template <
typename Jo
intLimitsStateDataType>
94 clock_ = std::make_shared<rclcpp::Clock>(rclcpp::Clock(RCL_ROS_TIME));
97template <
typename Jo
intLimitsStateDataType>
Definition joint_limiter_interface.hpp:35
Definition joint_saturation_limiter.hpp:38
JointSaturationLimiter()
Constructor.
Definition joint_saturation_limiter.hpp:91
bool on_enforce(const JointLimitsStateDataType ¤t_joint_states, JointLimitsStateDataType &desired_joint_states, const rclcpp::Duration &dt) override
Enforce joint limits to desired position, velocity and acceleration using clamping....
virtual ~JointSaturationLimiter()
Destructor.
Definition joint_saturation_limiter.hpp:98
bool on_init() override
Method is realized by an implementation.
Definition joint_saturation_limiter.hpp:46
void reset_internals() override
Reset internal states of the limiter.
Definition joint_saturation_limiter.hpp:78
bool on_configure(const JointLimitsStateDataType ¤t_joint_states) override
Method is realized by an implementation.
Definition joint_saturation_limiter.hpp:48
Definition data_structures.hpp:39