Skip to content

Commit c3a79de

Browse files
committed
updated code with build fixes
1 parent 04fbf95 commit c3a79de

File tree

6 files changed

+63
-79
lines changed

6 files changed

+63
-79
lines changed

chained_filter_controller/CMakeLists.txt

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -23,19 +23,21 @@ generate_parameter_library(
2323
config/chained_filter_parameters.yaml
2424
)
2525

26-
include_directories(${CMAKE_CURRENT_BINARY_DIR}/include)
26+
#include_directories(${CMAKE_CURRENT_BINARY_DIR}/include)
2727

2828
# Library definition
2929
add_library(${PROJECT_NAME} SHARED
3030
src/chained_filter.cpp
31-
${chained_filter_parameters_INTERFACE_SOURCES}
31+
#${chained_filter_parameters_INTERFACE_SOURCES}
3232
)
3333

34+
target_link_libraries(${PROJECT_NAME} chained_filter_parameters)
35+
3436
# Include paths
3537
target_include_directories(${PROJECT_NAME} PUBLIC
3638
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
3739
$<INSTALL_INTERFACE:include>
38-
${chained_filter_parameters_INCLUDE_DIRS}
40+
#${chained_filter_parameters_INCLUDE_DIRS}
3941
)
4042

4143
# Dependencies
@@ -76,6 +78,7 @@ install(
7678

7779
install(
7880
TARGETS ${PROJECT_NAME}
81+
chained_filter_parameters
7982
EXPORT export_${PROJECT_NAME}
8083
ARCHIVE DESTINATION lib
8184
LIBRARY DESTINATION lib

chained_filter_controller/config/chained_filter_parameters.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,4 @@ chained_filter:
66
output_interface:
77
type: string
88
default_value: "filtered_position"
9-
description: "Name of the output state interface"
9+
description: "Name of the output state interface"

chained_filter_controller/include/chained_filter_controller/chained_filter.hpp

Lines changed: 34 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -15,37 +15,37 @@
1515
namespace chained_filter_controller
1616
{
1717

18-
class ChainedFilter : public controller_interface::ChainableControllerInterface
19-
{
20-
public:
21-
controller_interface::CallbackReturn on_init() override;
22-
23-
controller_interface::InterfaceConfiguration command_interface_configuration() const override;
24-
25-
controller_interface::InterfaceConfiguration state_interface_configuration() const override;
26-
27-
controller_interface::CallbackReturn on_configure(
28-
const rclcpp_lifecycle::State & previous_state) override;
29-
30-
controller_interface::CallbackReturn on_activate(
31-
const rclcpp_lifecycle::State & previous_state) override;
32-
33-
controller_interface::return_type update_and_write_commands(
34-
const rclcpp::Time & time, const rclcpp::Duration & period) override;
35-
36-
rclcpp::NodeOptions define_custom_node_options() const override;
37-
38-
protected:
39-
std::vector<hardware_interface::StateInterface> on_export_state_interfaces() override;
40-
41-
controller_interface::return_type update_reference_from_subscribers(
42-
const rclcpp::Time & time, const rclcpp::Duration & period) override;
43-
44-
std::shared_ptr<chained_filter::ParamListener> param_listener_;
45-
chained_filter::Params params_;
46-
std::unique_ptr<filters::FilterChain<double>> filter_;
47-
48-
double output_state_value_;
49-
};
50-
} // namespace chained_filter_controller
51-
#endif
18+
class ChainedFilter : public controller_interface::ChainableControllerInterface
19+
{
20+
public:
21+
controller_interface::CallbackReturn on_init() override;
22+
23+
controller_interface::InterfaceConfiguration command_interface_configuration() const override;
24+
25+
controller_interface::InterfaceConfiguration state_interface_configuration() const override;
26+
27+
controller_interface::CallbackReturn on_configure(
28+
const rclcpp_lifecycle::State & previous_state) override;
29+
30+
controller_interface::CallbackReturn on_activate(
31+
const rclcpp_lifecycle::State & previous_state) override;
32+
33+
controller_interface::return_type update_and_write_commands(
34+
const rclcpp::Time & time, const rclcpp::Duration & period) override;
35+
36+
rclcpp::NodeOptions define_custom_node_options() const override;
37+
38+
protected:
39+
std::vector<hardware_interface::StateInterface> on_export_state_interfaces() override;
40+
41+
controller_interface::return_type update_reference_from_subscribers(
42+
const rclcpp::Time & time, const rclcpp::Duration & period) override;
43+
44+
std::shared_ptr<chained_filter::ParamListener> param_listener_;
45+
chained_filter::Params params_;
46+
std::unique_ptr<filters::FilterChain<double>> filter_;
47+
48+
double output_state_value_;
49+
};
50+
} // namespace chained_filter_controller
51+
#endif

chained_filter_controller/plugin_description.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,4 @@
77
and exports the filtered output as a new state interface.
88
</description>
99
</class>
10-
</library>
10+
</library>

chained_filter_controller/src/chained_filter.cpp

Lines changed: 8 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,8 @@
22

33
#include "chained_filter_controller/chained_filter.hpp"
44

5-
6-
7-
#include <limits>
85
#include <rclcpp/version.h>
6+
#include <limits>
97
#include <pluginlib/class_list_macros.hpp>
108

119
using namespace chained_filter;
@@ -37,18 +35,15 @@ controller_interface::InterfaceConfiguration ChainedFilter::command_interface_co
3735
controller_interface::InterfaceConfiguration ChainedFilter::state_interface_configuration() const
3836
{
3937
return {
40-
controller_interface::interface_configuration_type::INDIVIDUAL,
41-
{params_.input_interface}};
38+
controller_interface::interface_configuration_type::INDIVIDUAL, {params_.input_interface}};
4239
}
4340

44-
controller_interface::CallbackReturn ChainedFilter::on_configure(
45-
const rclcpp_lifecycle::State &)
41+
controller_interface::CallbackReturn ChainedFilter::on_configure(const rclcpp_lifecycle::State &)
4642
{
4743
params_ = param_listener_->get_params();
4844

4945
if (!filter_->configure(
50-
"filter_chain",
51-
get_node()->get_node_logging_interface(),
46+
"filter_chain", get_node()->get_node_logging_interface(),
5247
get_node()->get_node_parameters_interface()))
5348
{
5449
RCLCPP_ERROR(
@@ -60,8 +55,7 @@ controller_interface::CallbackReturn ChainedFilter::on_configure(
6055
return controller_interface::CallbackReturn::SUCCESS;
6156
}
6257

63-
controller_interface::CallbackReturn ChainedFilter::on_activate(
64-
const rclcpp_lifecycle::State &)
58+
controller_interface::CallbackReturn ChainedFilter::on_activate(const rclcpp_lifecycle::State &)
6559
{
6660
output_state_value_ = std::numeric_limits<double>::quiet_NaN();
6761
return controller_interface::CallbackReturn::SUCCESS;
@@ -82,9 +76,8 @@ controller_interface::return_type ChainedFilter::update_and_write_commands(
8276

8377
std::vector<hardware_interface::StateInterface> ChainedFilter::on_export_state_interfaces()
8478
{
85-
return {
86-
hardware_interface::StateInterface(
87-
get_node()->get_name(), params_.output_interface, &output_state_value_)};
79+
return {hardware_interface::StateInterface(
80+
get_node()->get_name(), params_.output_interface, &output_state_value_)};
8881
}
8982

9083
controller_interface::return_type ChainedFilter::update_reference_from_subscribers(
@@ -103,5 +96,4 @@ rclcpp::NodeOptions ChainedFilter::define_custom_node_options() const
10396
} // namespace chained_filter_controller
10497

10598
PLUGINLIB_EXPORT_CLASS(
106-
chained_filter_controller::ChainedFilter,
107-
controller_interface::ChainableControllerInterface)
99+
chained_filter_controller::ChainedFilter, controller_interface::ChainableControllerInterface)

chained_filter_controller/test/test_chained_filter.cpp

Lines changed: 13 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,16 @@
11
#include <gtest/gtest.h>
22
#include <memory>
3-
#include "rclcpp/rclcpp.hpp"
4-
#include "controller_interface/controller_interface.hpp"
53
#include "chained_filter_controller/chained_filter.hpp"
4+
#include "controller_interface/controller_interface.hpp"
5+
#include "rclcpp/rclcpp.hpp"
66

77
using chained_filter_controller::ChainedFilter;
88
using controller_interface::CallbackReturn;
99

1010
class ChainedFilterControllerTest : public ::testing::Test
1111
{
1212
protected:
13-
void SetUp() override
14-
{
15-
controller_ = std::make_shared<ChainedFilter>();
16-
}
13+
void SetUp() override { controller_ = std::make_shared<ChainedFilter>(); }
1714

1815
std::shared_ptr<ChainedFilter> controller_;
1916
};
@@ -29,13 +26,12 @@ TEST_F(ChainedFilterControllerTest, ConfigureReturnsFailureWithNoParams)
2926
// Initialize the controller (should set up internal node)
3027
ASSERT_EQ(
3128
controller_->init(
32-
"chained_filter", // controller name
33-
"test_ns", // namespace
34-
0, // intra-process (0 = disabled)
35-
"test_node", // RCL node name
36-
rclcpp::NodeOptions()), // node options
29+
"chained_filter", // controller name
30+
"test_ns", // namespace
31+
0, // intra-process (0 = disabled)
32+
"test_node", // RCL node name
33+
rclcpp::NodeOptions()), // node options
3734
controller_interface::return_type::OK);
38-
3935

4036
// We do NOT declare any filter parameters — this mimics a misconfigured user setup
4137
// The expectation is that configuration fails gracefully (not segfault)
@@ -58,27 +54,20 @@ TEST_F(ChainedFilterControllerTest, ActivateReturnsSuccessWithoutError)
5854

5955
TEST_F(ChainedFilterControllerTest, DeactivateDoesNotCrash)
6056
{
61-
EXPECT_NO_THROW({
62-
controller_->on_deactivate(rclcpp_lifecycle::State());
63-
});
57+
EXPECT_NO_THROW({ controller_->on_deactivate(rclcpp_lifecycle::State()); });
6458
}
6559

6660
TEST_F(ChainedFilterControllerTest, CleanupDoesNotCrash)
6761
{
68-
EXPECT_NO_THROW({
69-
controller_->on_cleanup(rclcpp_lifecycle::State());
70-
});
62+
EXPECT_NO_THROW({ controller_->on_cleanup(rclcpp_lifecycle::State()); });
7163
}
7264

7365
TEST_F(ChainedFilterControllerTest, ShutdownDoesNotCrash)
7466
{
75-
EXPECT_NO_THROW({
76-
controller_->on_shutdown(rclcpp_lifecycle::State());
77-
});
67+
EXPECT_NO_THROW({ controller_->on_shutdown(rclcpp_lifecycle::State()); });
7868
}
7969

80-
81-
int main(int argc, char **argv)
70+
int main(int argc, char ** argv)
8271
{
8372
// Initialize ROS 2
8473
rclcpp::init(argc, argv);
@@ -90,4 +79,4 @@ int main(int argc, char **argv)
9079
// Shutdown ROS 2
9180
rclcpp::shutdown();
9281
return result;
93-
}
82+
}

0 commit comments

Comments
 (0)