44 #include <moveit_butterworth_filter_parameters.hpp>
77 double filter(
double new_measurement);
79 void reset(
const double data);
82 static constexpr std::size_t FILTER_LENGTH = 2;
83 std::array<double, FILTER_LENGTH> previous_measurements_;
84 double previous_filtered_measurement_;
87 double feedback_term_;
101 bool initialize(rclcpp::Node::SharedPtr node, moveit::core::RobotModelConstPtr robot_model,
102 size_t num_joints)
override;
111 bool doSmoothing(Eigen::VectorXd& positions, Eigen::VectorXd& velocities, Eigen::VectorXd& accelerations)
override;
120 bool reset(
const Eigen::VectorXd& positions,
const Eigen::VectorXd& velocities,
121 const Eigen::VectorXd& accelerations)
override;
124 rclcpp::Node::SharedPtr node_;
125 std::vector<ButterworthFilter> position_filters_;
bool reset(const Eigen::VectorXd &positions, const Eigen::VectorXd &velocities, const Eigen::VectorXd &accelerations) override
bool doSmoothing(Eigen::VectorXd &positions, Eigen::VectorXd &velocities, Eigen::VectorXd &accelerations) override
bool initialize(rclcpp::Node::SharedPtr node, moveit::core::RobotModelConstPtr robot_model, size_t num_joints) override
ButterworthFilter()=delete
double filter(double new_measurement)
void reset(const double data)