Skip to content

Commit 2cecfd6

Browse files
committed
Merge branch 'add-control-filters-gravity-compensation' of https://github.com/StoglRobotics-forks/control_toolbox into add-control-filters-gravity-compensation
2 parents ff01bf1 + f0ec3be commit 2cecfd6

File tree

3 files changed

+19
-33
lines changed

3 files changed

+19
-33
lines changed

CMakeLists.txt

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ endif()
2121
find_package(ament_cmake REQUIRED)
2222
find_package(control_msgs REQUIRED)
2323
find_package(rclcpp REQUIRED)
24-
find_package(rclcpp_lifecycle REQUIRED)
2524
find_package(rcutils REQUIRED)
2625
find_package(realtime_tools REQUIRED)
2726

@@ -37,7 +36,6 @@ target_compile_definitions(${PROJECT_NAME} PRIVATE "CONTROL_TOOLBOX_BUILDING_LIB
3736
ament_target_dependencies(${PROJECT_NAME}
3837
control_msgs
3938
rclcpp
40-
rclcpp_lifecycle
4139
rcutils
4240
realtime_tools)
4341

control_filters.xml

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
<class_libraries>
2-
<library path="gravity_compensation">
3-
<class name="control_filters/GravityCompensatorWrench"
4-
type="control_filters::GravityCompensator<geometry_msgs::msg::WrenchStamped>"
5-
base_class_type="filters::FilterBase<geometry_msgs::msg::WrenchStamped>">
6-
<description>
7-
This is a gravity compensation filter working with geometry_msgs::WrenchStamped.
8-
It subtracts the influence of a force caused by the gravitational force from force
9-
measurements.
10-
</description>
11-
</class>
2+
<library path="gravity_compensation">
3+
<class name="control_filters/GravityCompensatorWrench"
4+
type="control_filters::GravityCompensator<geometry_msgs::msg::WrenchStamped>"
5+
base_class_type="filters::FilterBase<geometry_msgs::msg::WrenchStamped>">
6+
<description>
7+
This is a gravity compensation filter working with geometry_msgs::WrenchStamped.
8+
It subtracts the influence of a force caused by the gravitational force from force
9+
measurements.
10+
</description>
11+
</class>
1212
</library>
1313
<library path="low_pass_filter">
1414
<class name="control_filters/LowPassFilterWrench"

include/control_filters/low_pass_filter.hpp

Lines changed: 9 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,11 @@
1616
#define CONTROL_FILTERS__LOW_PASS_FILTER_HPP
1717

1818
#include <cmath>
19+
#include <Eigen/Dense>
20+
1921
#include "geometry_msgs/msg/wrench_stamped.hpp"
2022
#include "filters/filter_base.hpp"
2123
#include "filters/filter_chain.hpp"
22-
#include <Eigen/Dense>
2324
#include "rclcpp/node.hpp"
2425

2526

@@ -31,14 +32,11 @@ class LowPassFilter : public filters::FilterBase<T>
3132
public:
3233
LowPassFilter();
3334

34-
~LowPassFilter();
35+
~LowPassFilter() override;
3536

36-
/** @brief Configure filter parameters */
37-
virtual bool configure();
37+
bool configure() override;
3838

39-
bool configure(const std::string& ns);
40-
41-
virtual bool update(const T& data_in, T& data_out);
39+
bool update(const T& data_in, T& data_out) override;
4240

4341
/** \brief Get most recent parameters */
4442
bool updateParameters();
@@ -50,7 +48,6 @@ class LowPassFilter : public filters::FilterBase<T>
5048
rclcpp::Logger logger_;
5149

5250
// Parameters
53-
std::string parameter_namespace_;
5451
double sampling_frequency_;
5552
double damping_frequency_;
5653
double damping_intensity_;
@@ -81,21 +78,12 @@ LowPassFilter<T>::~LowPassFilter()
8178

8279
template <typename T>
8380
bool LowPassFilter<T>::configure()
84-
{
85-
configure("");
86-
return true;
87-
}
88-
89-
template <typename T>
90-
bool LowPassFilter<T>::configure(const std::string& ns)
9181
{
9282
if (!initialized_)
9383
{
9484
RCLCPP_INFO(logger_, "Node is not initialized... call setNode()");
9585
return false;
9686
}
97-
98-
parameter_namespace_ = ns;
9987

10088
if (!updateParameters())
10189
{
@@ -184,19 +172,19 @@ template <typename T>
184172
bool LowPassFilter<T>::updateParameters()
185173
{
186174

187-
if (!filters::FilterBase<T>::getParam(parameter_namespace_ + "sampling_frequency", sampling_frequency_)) {
175+
if (!filters::FilterBase<T>::getParam("sampling_frequency", sampling_frequency_)) {
188176
RCLCPP_ERROR(logger_, "Low pass filter did not find parameter sampling_frequency");
189177
return false;
190178
}
191-
if (!filters::FilterBase<T>::getParam(parameter_namespace_ + "damping_frequency", damping_frequency_)) {
179+
if (!filters::FilterBase<T>::getParam("damping_frequency", damping_frequency_)) {
192180
RCLCPP_ERROR(logger_, "Low pass filter did not find parameter damping_frequency");
193181
return false;
194182
}
195-
if (!filters::FilterBase<T>::getParam(parameter_namespace_ + "damping_intensity", damping_intensity_)) {
183+
if (!filters::FilterBase<T>::getParam("damping_intensity", damping_intensity_)) {
196184
RCLCPP_ERROR(logger_, "Low pass filter did not find parameter damping_intensity");
197185
return false;
198186
}
199-
if (!filters::FilterBase<T>::getParam(parameter_namespace_ + "divider", divider_)) {
187+
if (!filters::FilterBase<T>::getParam("divider", divider_)) {
200188
RCLCPP_ERROR(logger_, "Low pass filter did not find parameter divider");
201189
return false;
202190
}

0 commit comments

Comments
 (0)