Skip to content

Commit a41ca0e

Browse files
authored
Fix all deprecation warnings (#108)
1 parent 0230e84 commit a41ca0e

7 files changed

Lines changed: 38 additions & 22 deletions

File tree

robotiq_controllers/CMakeLists.txt

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,8 +25,9 @@ target_include_directories(${PROJECT_NAME} PRIVATE
2525
include
2626
)
2727

28-
ament_target_dependencies(${PROJECT_NAME}
29-
${THIS_PACKAGE_INCLUDE_DEPENDS}
28+
target_link_libraries(${PROJECT_NAME}
29+
controller_interface::controller_interface
30+
${std_srvs_TARGETS}
3031
)
3132

3233
pluginlib_export_plugin_description_file(controller_interface controller_plugins.xml)

robotiq_controllers/src/robotiq_activation_controller.cpp

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -105,14 +105,21 @@ rclcpp_lifecycle::node_interfaces::LifecycleNodeInterface::CallbackReturn Roboti
105105
bool RobotiqActivationController::reactivateGripper(std_srvs::srv::Trigger::Request::SharedPtr /*req*/,
106106
std_srvs::srv::Trigger::Response::SharedPtr resp)
107107
{
108-
command_interfaces_[REACTIVATE_GRIPPER_RESPONSE].set_value(ASYNC_WAITING);
109-
command_interfaces_[REACTIVATE_GRIPPER_CMD].set_value(1.0);
108+
resp->success = command_interfaces_[REACTIVATE_GRIPPER_RESPONSE].set_value(ASYNC_WAITING);
109+
resp->success &= command_interfaces_[REACTIVATE_GRIPPER_CMD].set_value(1.0);
110110

111-
while (command_interfaces_[REACTIVATE_GRIPPER_RESPONSE].get_value() == ASYNC_WAITING)
111+
while (true)
112112
{
113+
const auto maybe_value = command_interfaces_[REACTIVATE_GRIPPER_RESPONSE].get_optional();
114+
if (maybe_value && maybe_value.value() != ASYNC_WAITING)
115+
{
116+
break;
117+
}
113118
std::this_thread::sleep_for(std::chrono::milliseconds(50));
114119
}
115-
resp->success = command_interfaces_[REACTIVATE_GRIPPER_RESPONSE].get_value();
120+
// NOTE: This was previously using get_value() and implicitly casting to bool, so keeping the old behavior.
121+
// However, note that the value of this result is actually a double, so this should be revised in the future.
122+
resp->success &= static_cast<bool>(command_interfaces_[REACTIVATE_GRIPPER_RESPONSE].get_optional().value_or(false));
116123

117124
return resp->success;
118125
}

robotiq_driver/CMakeLists.txt

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,13 @@ target_include_directories(
6161
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
6262
$<INSTALL_INTERFACE:include>
6363
)
64-
ament_target_dependencies(
64+
target_link_libraries(
6565
robotiq_driver
66-
${THIS_PACKAGE_INCLUDE_DEPENDS}
66+
hardware_interface::hardware_interface
67+
pluginlib::pluginlib
68+
rclcpp::rclcpp
69+
rclcpp_lifecycle::rclcpp_lifecycle
70+
serial::serial
6771
)
6872

6973
###############################################################################

robotiq_driver/include/robotiq_driver/hardware_interface.hpp

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,12 +72,12 @@ class RobotiqGripperHardwareInterface : public hardware_interface::SystemInterfa
7272
/**
7373
* Initialization of the hardware interface from data parsed from the
7474
* robot's URDF.
75-
* @param hardware_info Structure with data from URDF.
75+
* @param params Structure with parameters for initializing this hardware component.
7676
* @returns CallbackReturn::SUCCESS if required data are provided and can be
7777
* parsed or CallbackReturn::ERROR if any error happens or data are missing.
7878
*/
7979
ROBOTIQ_DRIVER_PUBLIC
80-
CallbackReturn on_init(const hardware_interface::HardwareInfo& info) override;
80+
CallbackReturn on_init(const hardware_interface::HardwareComponentInterfaceParams& params) override;
8181

8282
/**
8383
* Connect to the hardware.

robotiq_driver/src/hardware_interface.cpp

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -72,30 +72,31 @@ RobotiqGripperHardwareInterface::RobotiqGripperHardwareInterface(std::unique_ptr
7272
{
7373
}
7474

75-
hardware_interface::CallbackReturn RobotiqGripperHardwareInterface::on_init(const hardware_interface::HardwareInfo& info)
75+
hardware_interface::CallbackReturn
76+
RobotiqGripperHardwareInterface::on_init(const hardware_interface::HardwareComponentInterfaceParams& params)
7677
{
7778
RCLCPP_DEBUG(kLogger, "on_init");
7879

79-
if (hardware_interface::SystemInterface::on_init(info) != CallbackReturn::SUCCESS)
80+
if (hardware_interface::SystemInterface::on_init(params) != CallbackReturn::SUCCESS)
8081
{
8182
return CallbackReturn::ERROR;
8283
}
8384

8485
// Read parameters.
85-
gripper_closed_pos_ = stod(info_.hardware_parameters["gripper_closed_position"]);
86+
gripper_closed_pos_ = stod(info_.hardware_parameters.at("gripper_closed_position"));
8687
gripper_max_speed_ = info_.hardware_parameters.count("gripper_max_speed") ?
87-
stod(info_.hardware_parameters["gripper_max_speed"]) :
88+
stod(info_.hardware_parameters.at("gripper_max_speed")) :
8889
kGripperMaxSpeed;
8990
gripper_max_force_ = info_.hardware_parameters.count("gripper_max_force") ?
90-
stod(info_.hardware_parameters["gripper_max_force"]) :
91+
stod(info_.hardware_parameters.at("gripper_max_force")) :
9192
kGripperMaxforce;
9293
gripper_position_ = std::numeric_limits<double>::quiet_NaN();
9394
gripper_velocity_ = std::numeric_limits<double>::quiet_NaN();
9495
gripper_position_command_ = std::numeric_limits<double>::quiet_NaN();
9596
reactivate_gripper_cmd_ = NO_NEW_CMD_;
9697
reactivate_gripper_async_cmd_.store(false);
9798

98-
const hardware_interface::ComponentInfo& joint = info_.joints[0];
99+
const hardware_interface::ComponentInfo& joint = info_.joints.at(0);
99100

100101
// There is one command interface: position.
101102
if (joint.command_interfaces.size() != 1)
@@ -105,10 +106,10 @@ hardware_interface::CallbackReturn RobotiqGripperHardwareInterface::on_init(cons
105106
return CallbackReturn::ERROR;
106107
}
107108

108-
if (joint.command_interfaces[0].name != hardware_interface::HW_IF_POSITION)
109+
if (joint.command_interfaces.at(0).name != hardware_interface::HW_IF_POSITION)
109110
{
110111
RCLCPP_FATAL(kLogger, "Joint '%s' has %s command interfaces found. '%s' expected.", joint.name.c_str(),
111-
joint.command_interfaces[0].name.c_str(), hardware_interface::HW_IF_POSITION);
112+
joint.command_interfaces.at(0).name.c_str(), hardware_interface::HW_IF_POSITION);
112113
return CallbackReturn::ERROR;
113114
}
114115

@@ -126,7 +127,7 @@ hardware_interface::CallbackReturn RobotiqGripperHardwareInterface::on_init(cons
126127
joint.state_interfaces[i].name == hardware_interface::HW_IF_VELOCITY))
127128
{
128129
RCLCPP_FATAL(kLogger, "Joint '%s' has %s state interface. Expected %s or %s.", joint.name.c_str(),
129-
joint.state_interfaces[i].name.c_str(), hardware_interface::HW_IF_POSITION,
130+
joint.state_interfaces.at(i).name.c_str(), hardware_interface::HW_IF_POSITION,
130131
hardware_interface::HW_IF_VELOCITY);
131132
return CallbackReturn::ERROR;
132133
}

robotiq_driver/tests/CMakeLists.txt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,11 @@ ament_add_gmock(test_robotiq_gripper_hardware_interface
1919
target_include_directories(test_robotiq_gripper_hardware_interface
2020
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
2121
)
22-
target_link_libraries(test_robotiq_gripper_hardware_interface robotiq_driver)
23-
ament_target_dependencies(test_robotiq_gripper_hardware_interface)
22+
target_link_libraries(
23+
test_robotiq_gripper_hardware_interface
24+
robotiq_driver
25+
hardware_interface::hardware_interface
26+
)
2427

2528
###############################################################################
2629
# test_default_serial_factory

robotiq_hardware_tests/CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,6 @@ add_executable(full_test
3131
src/command_line_utility.hpp
3232
src/command_line_utility.cpp
3333
)
34-
ament_target_dependencies(full_test robotiq_driver)
34+
target_link_libraries(full_test robotiq_driver::robotiq_driver)
3535

3636
ament_package()

0 commit comments

Comments
 (0)