Skip to content

Commit 936f8d5

Browse files
Merge branch 'master' into pid_controller_feedforward_1270_1
2 parents 1a44687 + 0d4b7e8 commit 936f8d5

24 files changed

+189
-95
lines changed

ackermann_steering_controller/test/test_ackermann_steering_controller.cpp

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,13 @@
1212
// See the License for the specific language governing permissions and
1313
// limitations under the License.
1414

15-
#include "test_ackermann_steering_controller.hpp"
16-
1715
#include <memory>
1816
#include <string>
1917
#include <vector>
2018

19+
#include "hardware_interface/types/hardware_interface_type_values.hpp"
20+
#include "test_ackermann_steering_controller.hpp"
21+
2122
class AckermannSteeringControllerTest
2223
: public AckermannSteeringControllerFixture<TestableAckermannSteeringController>
2324
{
@@ -87,11 +88,13 @@ TEST_F(AckermannSteeringControllerTest, check_exported_interfaces)
8788
ASSERT_EQ(reference_interfaces.size(), joint_reference_interfaces_.size());
8889
for (size_t i = 0; i < joint_reference_interfaces_.size(); ++i)
8990
{
90-
const std::string ref_itf_name =
91+
const std::string ref_itf_prefix_name =
9192
std::string(controller_->get_node()->get_name()) + "/" + joint_reference_interfaces_[i];
92-
EXPECT_EQ(reference_interfaces[i]->get_name(), ref_itf_name);
93-
EXPECT_EQ(reference_interfaces[i]->get_prefix_name(), controller_->get_node()->get_name());
94-
EXPECT_EQ(reference_interfaces[i]->get_interface_name(), joint_reference_interfaces_[i]);
93+
EXPECT_EQ(
94+
reference_interfaces[i]->get_name(),
95+
ref_itf_prefix_name + "/" + hardware_interface::HW_IF_VELOCITY);
96+
EXPECT_EQ(reference_interfaces[i]->get_prefix_name(), ref_itf_prefix_name);
97+
EXPECT_EQ(reference_interfaces[i]->get_interface_name(), hardware_interface::HW_IF_VELOCITY);
9598
}
9699
}
97100

ackermann_steering_controller/test/test_ackermann_steering_controller.hpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -295,8 +295,7 @@ class AckermannSteeringControllerFixture : public ::testing::Test
295295

296296
std::array<double, 4> joint_state_values_ = {{0.5, 0.5, 0.0, 0.0}};
297297
std::array<double, 4> joint_command_values_ = {{1.1, 3.3, 2.2, 4.4}};
298-
std::array<std::string, 2> joint_reference_interfaces_ = {
299-
{"linear/velocity", "angular/velocity"}};
298+
std::array<std::string, 2> joint_reference_interfaces_ = {{"linear", "angular"}};
300299
std::string steering_interface_name_ = "position";
301300
// defined in setup
302301
std::string traction_interface_name_ = "";

ackermann_steering_controller/test/test_ackermann_steering_controller_preceeding.cpp

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,13 @@
1212
// See the License for the specific language governing permissions and
1313
// limitations under the License.
1414

15-
#include "test_ackermann_steering_controller.hpp"
16-
1715
#include <memory>
1816
#include <string>
1917
#include <vector>
2018

19+
#include "hardware_interface/types/hardware_interface_type_values.hpp"
20+
#include "test_ackermann_steering_controller.hpp"
21+
2122
class AckermannSteeringControllerTest
2223
: public AckermannSteeringControllerFixture<TestableAckermannSteeringController>
2324
{
@@ -89,11 +90,13 @@ TEST_F(AckermannSteeringControllerTest, check_exported_interfaces)
8990
ASSERT_EQ(reference_interfaces.size(), joint_reference_interfaces_.size());
9091
for (size_t i = 0; i < joint_reference_interfaces_.size(); ++i)
9192
{
92-
const std::string ref_itf_name =
93+
const std::string ref_itf_prefix_name =
9394
std::string(controller_->get_node()->get_name()) + "/" + joint_reference_interfaces_[i];
94-
EXPECT_EQ(reference_interfaces[i]->get_name(), ref_itf_name);
95-
EXPECT_EQ(reference_interfaces[i]->get_prefix_name(), controller_->get_node()->get_name());
96-
EXPECT_EQ(reference_interfaces[i]->get_interface_name(), joint_reference_interfaces_[i]);
95+
EXPECT_EQ(
96+
reference_interfaces[i]->get_name(),
97+
ref_itf_prefix_name + "/" + hardware_interface::HW_IF_VELOCITY);
98+
EXPECT_EQ(reference_interfaces[i]->get_prefix_name(), ref_itf_prefix_name);
99+
EXPECT_EQ(reference_interfaces[i]->get_interface_name(), hardware_interface::HW_IF_VELOCITY);
97100
}
98101
}
99102

admittance_controller/src/admittance_controller.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -147,9 +147,9 @@ AdmittanceController::on_export_reference_interfaces()
147147
{
148148
velocity_reference_.emplace_back(reference_interfaces_[index]);
149149
}
150-
const auto full_name = joint + "/" + interface;
150+
const auto exported_prefix = std::string(get_node()->get_name()) + "/" + joint;
151151
chainable_command_interfaces.emplace_back(hardware_interface::CommandInterface(
152-
std::string(get_node()->get_name()), full_name, reference_interfaces_.data() + index));
152+
exported_prefix, interface, reference_interfaces_.data() + index));
153153

154154
index++;
155155
}

admittance_controller/test/test_admittance_controller.cpp

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,27 @@ TEST_F(AdmittanceControllerTest, check_interfaces)
168168
ASSERT_EQ(
169169
controller_->state_interfaces_.size(),
170170
state_interface_types_.size() * joint_names_.size() + fts_state_values_.size());
171+
172+
const auto reference_interfaces = controller_->ordered_exported_reference_interfaces_;
173+
ASSERT_EQ(reference_interfaces.size(), 2 * joint_names_.size());
174+
for (auto i = 0ul; i < joint_names_.size(); i++)
175+
{
176+
const std::string ref_itf_prefix_name =
177+
std::string(controller_->get_node()->get_name()) + "/" + joint_names_[i];
178+
EXPECT_EQ(reference_interfaces[i]->get_prefix_name(), ref_itf_prefix_name);
179+
EXPECT_EQ(
180+
reference_interfaces[i]->get_name(),
181+
ref_itf_prefix_name + "/" + hardware_interface::HW_IF_POSITION);
182+
EXPECT_EQ(reference_interfaces[i]->get_interface_name(), hardware_interface::HW_IF_POSITION);
183+
EXPECT_EQ(
184+
reference_interfaces[i + joint_names_.size()]->get_prefix_name(), ref_itf_prefix_name);
185+
EXPECT_EQ(
186+
reference_interfaces[i + joint_names_.size()]->get_name(),
187+
ref_itf_prefix_name + "/" + hardware_interface::HW_IF_VELOCITY);
188+
EXPECT_EQ(
189+
reference_interfaces[i + joint_names_.size()]->get_interface_name(),
190+
hardware_interface::HW_IF_VELOCITY);
191+
}
171192
}
172193

173194
TEST_F(AdmittanceControllerTest, activate_success)

bicycle_steering_controller/test/test_bicycle_steering_controller.cpp

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,13 @@
1212
// See the License for the specific language governing permissions and
1313
// limitations under the License.
1414

15-
#include "test_bicycle_steering_controller.hpp"
16-
1715
#include <memory>
1816
#include <string>
1917
#include <vector>
2018

19+
#include "hardware_interface/types/hardware_interface_type_values.hpp"
20+
#include "test_bicycle_steering_controller.hpp"
21+
2122
class BicycleSteeringControllerTest
2223
: public BicycleSteeringControllerFixture<TestableBicycleSteeringController>
2324
{
@@ -71,11 +72,13 @@ TEST_F(BicycleSteeringControllerTest, check_exported_interfaces)
7172
ASSERT_EQ(reference_interfaces.size(), joint_reference_interfaces_.size());
7273
for (size_t i = 0; i < joint_reference_interfaces_.size(); ++i)
7374
{
74-
const std::string ref_itf_name =
75+
const std::string ref_itf_prefix_name =
7576
std::string(controller_->get_node()->get_name()) + "/" + joint_reference_interfaces_[i];
76-
EXPECT_EQ(reference_interfaces[i]->get_name(), ref_itf_name);
77-
EXPECT_EQ(reference_interfaces[i]->get_prefix_name(), controller_->get_node()->get_name());
78-
EXPECT_EQ(reference_interfaces[i]->get_interface_name(), joint_reference_interfaces_[i]);
77+
EXPECT_EQ(
78+
reference_interfaces[i]->get_name(),
79+
ref_itf_prefix_name + "/" + hardware_interface::HW_IF_VELOCITY);
80+
EXPECT_EQ(reference_interfaces[i]->get_prefix_name(), ref_itf_prefix_name);
81+
EXPECT_EQ(reference_interfaces[i]->get_interface_name(), hardware_interface::HW_IF_VELOCITY);
7982
}
8083
}
8184

bicycle_steering_controller/test/test_bicycle_steering_controller.hpp

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -263,8 +263,7 @@ class BicycleSteeringControllerFixture : public ::testing::Test
263263

264264
std::array<double, 2> joint_state_values_ = {{3.3, 0.5}};
265265
std::array<double, 2> joint_command_values_ = {{1.1, 2.2}};
266-
std::array<std::string, 2> joint_reference_interfaces_ = {
267-
{"linear/velocity", "angular/velocity"}};
266+
std::array<std::string, 2> joint_reference_interfaces_ = {{"linear", "angular"}};
268267
std::string steering_interface_name_ = "position";
269268

270269
// defined in setup

bicycle_steering_controller/test/test_bicycle_steering_controller_preceeding.cpp

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,12 +12,13 @@
1212
// See the License for the specific language governing permissions and
1313
// limitations under the License.
1414

15-
#include "test_bicycle_steering_controller.hpp"
16-
1715
#include <memory>
1816
#include <string>
1917
#include <vector>
2018

19+
#include "hardware_interface/types/hardware_interface_type_values.hpp"
20+
#include "test_bicycle_steering_controller.hpp"
21+
2122
class BicycleSteeringControllerTest
2223
: public BicycleSteeringControllerFixture<TestableBicycleSteeringController>
2324
{
@@ -75,11 +76,13 @@ TEST_F(BicycleSteeringControllerTest, check_exported_interfaces)
7576
ASSERT_EQ(reference_interfaces.size(), joint_reference_interfaces_.size());
7677
for (size_t i = 0; i < joint_reference_interfaces_.size(); ++i)
7778
{
78-
const std::string ref_itf_name =
79+
const std::string ref_itf_prefix_name =
7980
std::string(controller_->get_node()->get_name()) + "/" + joint_reference_interfaces_[i];
80-
EXPECT_EQ(reference_interfaces[i]->get_name(), ref_itf_name);
81-
EXPECT_EQ(reference_interfaces[i]->get_prefix_name(), controller_->get_node()->get_name());
82-
EXPECT_EQ(reference_interfaces[i]->get_interface_name(), joint_reference_interfaces_[i]);
81+
EXPECT_EQ(
82+
reference_interfaces[i]->get_name(),
83+
ref_itf_prefix_name + "/" + hardware_interface::HW_IF_VELOCITY);
84+
EXPECT_EQ(reference_interfaces[i]->get_prefix_name(), ref_itf_prefix_name);
85+
EXPECT_EQ(reference_interfaces[i]->get_interface_name(), hardware_interface::HW_IF_VELOCITY);
8386
}
8487
}
8588

diff_drive_controller/src/diff_drive_controller.cpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -700,11 +700,11 @@ DiffDriveController::on_export_reference_interfaces()
700700
reference_interfaces.reserve(reference_interfaces_.size());
701701

702702
reference_interfaces.push_back(hardware_interface::CommandInterface(
703-
get_node()->get_name(), std::string("linear/") + hardware_interface::HW_IF_VELOCITY,
703+
get_node()->get_name() + std::string("/linear"), hardware_interface::HW_IF_VELOCITY,
704704
&reference_interfaces_[0]));
705705

706706
reference_interfaces.push_back(hardware_interface::CommandInterface(
707-
get_node()->get_name(), std::string("angular/") + hardware_interface::HW_IF_VELOCITY,
707+
get_node()->get_name() + std::string("/angular"), hardware_interface::HW_IF_VELOCITY,
708708
&reference_interfaces_[1]));
709709

710710
return reference_interfaces;

diff_drive_controller/test/test_diff_drive_controller.cpp

Lines changed: 10 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -976,23 +976,22 @@ TEST_F(TestDiffDriveController, reference_interfaces_are_properly_exported)
976976
ASSERT_EQ(reference_interfaces.size(), 2)
977977
<< "Expected exactly 2 reference interfaces: linear and angular";
978978

979-
const std::string expected_prefix_name = std::string(controller_->get_node()->get_name());
980-
const std::string expected_linear_interface_name =
981-
std::string("linear/") + hardware_interface::HW_IF_VELOCITY;
982-
const std::string expected_angular_interface_name =
983-
std::string("angular/") + hardware_interface::HW_IF_VELOCITY;
979+
const std::string expected_linear_prefix_name =
980+
std::string(controller_->get_node()->get_name()) + std::string("/linear");
981+
const std::string expected_angular_prefix_name =
982+
std::string(controller_->get_node()->get_name()) + std::string("/angular");
984983
const std::string expected_linear_name =
985-
expected_prefix_name + std::string("/") + expected_linear_interface_name;
984+
expected_linear_prefix_name + std::string("/") + hardware_interface::HW_IF_VELOCITY;
986985
const std::string expected_angular_name =
987-
expected_prefix_name + std::string("/") + expected_angular_interface_name;
986+
expected_angular_prefix_name + std::string("/") + hardware_interface::HW_IF_VELOCITY;
988987

989988
ASSERT_EQ(reference_interfaces[0]->get_name(), expected_linear_name);
990989
ASSERT_EQ(reference_interfaces[1]->get_name(), expected_angular_name);
991990

992-
EXPECT_EQ(reference_interfaces[0]->get_prefix_name(), expected_prefix_name);
993-
EXPECT_EQ(reference_interfaces[0]->get_interface_name(), expected_linear_interface_name);
994-
EXPECT_EQ(reference_interfaces[1]->get_prefix_name(), expected_prefix_name);
995-
EXPECT_EQ(reference_interfaces[1]->get_interface_name(), expected_angular_interface_name);
991+
EXPECT_EQ(reference_interfaces[0]->get_prefix_name(), expected_linear_prefix_name);
992+
EXPECT_EQ(reference_interfaces[0]->get_interface_name(), hardware_interface::HW_IF_VELOCITY);
993+
EXPECT_EQ(reference_interfaces[1]->get_prefix_name(), expected_angular_prefix_name);
994+
EXPECT_EQ(reference_interfaces[1]->get_interface_name(), hardware_interface::HW_IF_VELOCITY);
996995
}
997996

998997
// Make sure that the controller is properly reset when deactivated

0 commit comments

Comments
 (0)