Skip to content

Commit

Permalink
Misplaced param init in admittance_controller (ros-controls#547)
Browse files Browse the repository at this point in the history
  • Loading branch information
guihomework authored and christophfroehlich committed Apr 11, 2023
1 parent b4863d8 commit 667af8a
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 17 deletions.
12 changes: 0 additions & 12 deletions admittance_controller/src/admittance_controller.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -147,18 +147,6 @@ AdmittanceController::on_export_reference_interfaces()
controller_interface::CallbackReturn AdmittanceController::on_configure(
const rclcpp_lifecycle::State & /*previous_state*/)
{
try
{
parameter_handler_ = std::make_shared<admittance_controller::ParamListener>(get_node());
admittance_ = std::make_unique<admittance_controller::AdmittanceRule>(parameter_handler_);
}
catch (const std::exception & e)
{
RCLCPP_ERROR(
get_node()->get_logger(), "Exception thrown during init stage with message: %s \n", e.what());
return controller_interface::CallbackReturn::ERROR;
}

command_joint_names_ = admittance_->parameters_.command_joints;
if (command_joint_names_.empty())
{
Expand Down
8 changes: 3 additions & 5 deletions admittance_controller/test/test_admittance_controller.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -21,16 +21,14 @@
#include <utility>
#include <vector>

// Test on_configure returns ERROR when a required parameter is missing
TEST_P(AdmittanceControllerTestParameterizedMissingParameters, one_parameter_is_missing)
// Test on_init returns ERROR when a required parameter is missing
TEST_P(AdmittanceControllerTestParameterizedMissingParameters, one_init_parameter_is_missing)
{
ASSERT_EQ(SetUpController(GetParam()), controller_interface::return_type::ERROR);
ASSERT_EQ(controller_->on_configure(rclcpp_lifecycle::State()), NODE_ERROR);
}

INSTANTIATE_TEST_SUITE_P(
MissingMandatoryParameterDuringConfiguration,
AdmittanceControllerTestParameterizedMissingParameters,
MissingMandatoryParameterDuringInit, AdmittanceControllerTestParameterizedMissingParameters,
::testing::Values(
"admittance.mass", "admittance.selected_axes", "admittance.stiffness",
"chainable_command_interfaces", "command_interfaces", "control.frame.id",
Expand Down
2 changes: 2 additions & 0 deletions admittance_controller/test/test_admittance_controller.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -53,6 +53,8 @@ const double COMMON_THRESHOLD = 0.001;

constexpr auto NODE_SUCCESS =
rclcpp_lifecycle::node_interfaces::LifecycleNodeInterface::CallbackReturn::SUCCESS;
constexpr auto NODE_FAILURE =
rclcpp_lifecycle::node_interfaces::LifecycleNodeInterface::CallbackReturn::FAILURE;
constexpr auto NODE_ERROR =
rclcpp_lifecycle::node_interfaces::LifecycleNodeInterface::CallbackReturn::ERROR;

Expand Down

0 comments on commit 667af8a

Please sign in to comment.