Skip to content

Commit c1940cf

Browse files
URJalaVinDp
authored andcommitted
Revert "Added service to enable and disable tool contact"
This reverts commit f6bf8c6.
1 parent af26b1e commit c1940cf

File tree

7 files changed

+2
-224
lines changed

7 files changed

+2
-224
lines changed

ur_controllers/include/ur_controllers/gpio_controller.hpp

Lines changed: 0 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,6 @@
5757
#include "rclcpp/duration.hpp"
5858
#include "std_msgs/msg/bool.hpp"
5959
#include "gpio_controller_parameters.hpp"
60-
#include "ur_msgs/srv/get_version.hpp"
6160

6261
namespace ur_controllers
6362
{
@@ -80,16 +79,6 @@ enum CommandInterfaces
8079
ZERO_FTSENSOR_ASYNC_SUCCESS = 32,
8180
HAND_BACK_CONTROL_CMD = 33,
8281
HAND_BACK_CONTROL_ASYNC_SUCCESS = 34,
83-
START_TOOL_CONTACT_CMD = 35,
84-
START_TOOL_CONTACT_ASYNC_SUCCESS = 36,
85-
END_TOOL_CONTACT_CMD = 37,
86-
END_TOOL_CONTACT_ASYNC_SUCCESS = 38,
87-
GET_VERSION_CMD = 39,
88-
GET_VERSION_ASYNC_SUCCESS = 40,
89-
GET_VERSION_MAJOR = 41,
90-
GET_VERSION_MINOR = 42,
91-
GET_VERSION_BUGFIX = 43,
92-
GET_VERSION_BUILD = 44
9382
};
9483

9584
enum StateInterfaces
@@ -147,13 +136,6 @@ class GPIOController : public controller_interface::ControllerInterface
147136

148137
bool zeroFTSensor(std_srvs::srv::Trigger::Request::SharedPtr req, std_srvs::srv::Trigger::Response::SharedPtr resp);
149138

150-
bool startToolContact(std_srvs::srv::Trigger::Request::SharedPtr req,
151-
std_srvs::srv::Trigger::Response::SharedPtr resp);
152-
153-
bool endToolContact(std_srvs::srv::Trigger::Request::SharedPtr req, std_srvs::srv::Trigger::Response::SharedPtr resp);
154-
155-
bool getVersion(ur_msgs::srv::GetVersion::Request::SharedPtr req, ur_msgs::srv::GetVersion::Response::SharedPtr resp);
156-
157139
void publishIO();
158140

159141
void publishToolData();
@@ -181,9 +163,6 @@ class GPIOController : public controller_interface::ControllerInterface
181163
rclcpp::Service<ur_msgs::srv::SetIO>::SharedPtr set_io_srv_;
182164
rclcpp::Service<ur_msgs::srv::SetPayload>::SharedPtr set_payload_srv_;
183165
rclcpp::Service<std_srvs::srv::Trigger>::SharedPtr tare_sensor_srv_;
184-
rclcpp::Service<std_srvs::srv::Trigger>::SharedPtr start_tool_contact_srv_;
185-
rclcpp::Service<std_srvs::srv::Trigger>::SharedPtr end_tool_contact_srv_;
186-
rclcpp::Service<ur_msgs::srv::GetVersion>::SharedPtr get_version_srv_;
187166

188167
std::shared_ptr<rclcpp::Publisher<ur_msgs::msg::IOStates>> io_pub_;
189168
std::shared_ptr<rclcpp::Publisher<ur_msgs::msg::ToolDataMsg>> tool_data_pub_;

ur_controllers/src/gpio_controller.cpp

Lines changed: 0 additions & 100 deletions
Original file line numberDiff line numberDiff line change
@@ -97,20 +97,6 @@ controller_interface::InterfaceConfiguration GPIOController::command_interface_c
9797
config.names.emplace_back(tf_prefix + "hand_back_control/hand_back_control_cmd");
9898
config.names.emplace_back(tf_prefix + "hand_back_control/hand_back_control_async_success");
9999

100-
// Start or stop tool contact functionality
101-
config.names.emplace_back(tf_prefix + "start_tool_contact/start_tool_contact_cmd");
102-
config.names.emplace_back(tf_prefix + "start_tool_contact/start_tool_contact_async_success");
103-
config.names.emplace_back(tf_prefix + "end_tool_contact/end_tool_contact_cmd");
104-
config.names.emplace_back(tf_prefix + "end_tool_contact/end_tool_contact_async_success");
105-
106-
// Get version service
107-
config.names.emplace_back(tf_prefix + "get_version/get_version_cmd");
108-
config.names.emplace_back(tf_prefix + "get_version/get_version_async_success");
109-
config.names.emplace_back(tf_prefix + "get_version/get_version_major");
110-
config.names.emplace_back(tf_prefix + "get_version/get_version_minor");
111-
config.names.emplace_back(tf_prefix + "get_version/get_version_bugfix");
112-
config.names.emplace_back(tf_prefix + "get_version/get_version_build");
113-
114100
return config;
115101
}
116102

@@ -326,17 +312,6 @@ ur_controllers::GPIOController::on_activate(const rclcpp_lifecycle::State& /*pre
326312
tare_sensor_srv_ = get_node()->create_service<std_srvs::srv::Trigger>(
327313
"~/zero_ftsensor",
328314
std::bind(&GPIOController::zeroFTSensor, this, std::placeholders::_1, std::placeholders::_2));
329-
330-
start_tool_contact_srv_ = get_node()->create_service<std_srvs::srv::Trigger>(
331-
"~/start_tool_contact",
332-
std::bind(&GPIOController::startToolContact, this, std::placeholders::_1, std::placeholders::_2));
333-
334-
end_tool_contact_srv_ = get_node()->create_service<std_srvs::srv::Trigger>(
335-
"~/end_tool_contact",
336-
std::bind(&GPIOController::endToolContact, this, std::placeholders::_1, std::placeholders::_2));
337-
338-
get_version_srv_ = get_node()->create_service<ur_msgs::srv::GetVersion>(
339-
"~/get_version", std::bind(&GPIOController::getVersion, this, std::placeholders::_1, std::placeholders::_2));
340315
} catch (...) {
341316
return LifecycleNodeInterface::CallbackReturn::ERROR;
342317
}
@@ -545,81 +520,6 @@ bool GPIOController::zeroFTSensor(std_srvs::srv::Trigger::Request::SharedPtr /*r
545520
return true;
546521
}
547522

548-
bool GPIOController::startToolContact(std_srvs::srv::Trigger::Request::SharedPtr /*req*/,
549-
std_srvs::srv::Trigger::Response::SharedPtr resp)
550-
{
551-
// reset success flag
552-
command_interfaces_[CommandInterfaces::START_TOOL_CONTACT_ASYNC_SUCCESS].set_value(ASYNC_WAITING);
553-
554-
// call the service in the hardware
555-
command_interfaces_[CommandInterfaces::START_TOOL_CONTACT_CMD].set_value(1.0);
556-
557-
if (!waitForAsyncCommand(
558-
[&]() { return command_interfaces_[CommandInterfaces::START_TOOL_CONTACT_ASYNC_SUCCESS].get_value(); })) {
559-
RCLCPP_WARN(get_node()->get_logger(), "Could not verify that tool contact was started.");
560-
}
561-
562-
resp->success =
563-
static_cast<bool>(command_interfaces_[CommandInterfaces::START_TOOL_CONTACT_ASYNC_SUCCESS].get_value());
564-
565-
if (resp->success) {
566-
RCLCPP_INFO(get_node()->get_logger(), "Successfully started tool contact");
567-
} else {
568-
RCLCPP_ERROR(get_node()->get_logger(), "Could not start tool contact");
569-
return false;
570-
}
571-
572-
return true;
573-
}
574-
575-
bool GPIOController::endToolContact(std_srvs::srv::Trigger::Request::SharedPtr /*req*/,
576-
std_srvs::srv::Trigger::Response::SharedPtr resp)
577-
{
578-
// reset success flag
579-
command_interfaces_[CommandInterfaces::END_TOOL_CONTACT_ASYNC_SUCCESS].set_value(ASYNC_WAITING);
580-
581-
// call the service in the hardware
582-
command_interfaces_[CommandInterfaces::END_TOOL_CONTACT_CMD].set_value(1.0);
583-
584-
if (!waitForAsyncCommand(
585-
[&]() { return command_interfaces_[CommandInterfaces::END_TOOL_CONTACT_ASYNC_SUCCESS].get_value(); })) {
586-
RCLCPP_WARN(get_node()->get_logger(), "Could not verify that tool contact was stopped.");
587-
}
588-
589-
resp->success = static_cast<bool>(command_interfaces_[CommandInterfaces::END_TOOL_CONTACT_ASYNC_SUCCESS].get_value());
590-
591-
if (resp->success) {
592-
RCLCPP_INFO(get_node()->get_logger(), "Successfully stopped tool contact");
593-
} else {
594-
RCLCPP_ERROR(get_node()->get_logger(), "Could not stop tool contact");
595-
return false;
596-
}
597-
598-
return true;
599-
}
600-
601-
bool GPIOController::getVersion(ur_msgs::srv::GetVersion::Request::SharedPtr /*req*/,
602-
ur_msgs::srv::GetVersion::Response::SharedPtr resp)
603-
{
604-
// reset success flag
605-
command_interfaces_[CommandInterfaces::GET_VERSION_ASYNC_SUCCESS].set_value(ASYNC_WAITING);
606-
607-
// call the service in the hardware
608-
command_interfaces_[CommandInterfaces::GET_VERSION_CMD].set_value(1.0);
609-
610-
if (!waitForAsyncCommand(
611-
[&]() { return command_interfaces_[CommandInterfaces::GET_VERSION_ASYNC_SUCCESS].get_value(); })) {
612-
RCLCPP_WARN(get_node()->get_logger(), "Could not verify software version of robot.");
613-
}
614-
615-
resp->major = static_cast<uint32_t>(command_interfaces_[CommandInterfaces::GET_VERSION_MAJOR].get_value());
616-
resp->minor = static_cast<uint32_t>(command_interfaces_[CommandInterfaces::GET_VERSION_MINOR].get_value());
617-
resp->bugfix = static_cast<uint32_t>(command_interfaces_[CommandInterfaces::GET_VERSION_BUGFIX].get_value());
618-
resp->build = static_cast<uint32_t>(command_interfaces_[CommandInterfaces::GET_VERSION_BUILD].get_value());
619-
620-
return true;
621-
}
622-
623523
void GPIOController::initMsgs()
624524
{
625525
io_msg_.digital_in_states.resize(standard_digital_output_cmd_.size());

ur_robot_driver/include/ur_robot_driver/hardware_interface.hpp

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -191,16 +191,6 @@ class URPositionHardwareInterface : public hardware_interface::SystemInterface
191191
bool initialized_;
192192
double system_interface_initialized_;
193193
bool async_thread_shutdown_;
194-
double start_tool_contact_cmd_;
195-
double start_tool_contact_async_success_;
196-
double end_tool_contact_cmd_;
197-
double end_tool_contact_async_success_;
198-
double get_version_async_success_;
199-
double get_version_cmd_;
200-
double get_version_major_;
201-
double get_version_minor_;
202-
double get_version_bugfix_;
203-
double get_version_build_;
204194

205195
// payload stuff
206196
urcl::vector3d_t payload_center_of_gravity_;

ur_robot_driver/src/hardware_interface.cpp

Lines changed: 0 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -298,36 +298,6 @@ std::vector<hardware_interface::CommandInterface> URPositionHardwareInterface::e
298298
command_interfaces.emplace_back(hardware_interface::CommandInterface(
299299
tf_prefix + "zero_ftsensor", "zero_ftsensor_async_success", &zero_ftsensor_async_success_));
300300

301-
command_interfaces.emplace_back(hardware_interface::CommandInterface(
302-
tf_prefix + "start_tool_contact", "start_tool_contact_cmd", &start_tool_contact_cmd_));
303-
304-
command_interfaces.emplace_back(hardware_interface::CommandInterface(
305-
tf_prefix + "start_tool_contact", "start_tool_contact_async_success", &start_tool_contact_async_success_));
306-
307-
command_interfaces.emplace_back(hardware_interface::CommandInterface(tf_prefix + "end_tool_contact",
308-
"end_tool_contact_cmd", &end_tool_contact_cmd_));
309-
310-
command_interfaces.emplace_back(hardware_interface::CommandInterface(
311-
tf_prefix + "end_tool_contact", "end_tool_contact_async_success", &end_tool_contact_async_success_));
312-
313-
command_interfaces.emplace_back(
314-
hardware_interface::CommandInterface(tf_prefix + "get_version", "get_version_cmd", &get_version_cmd_));
315-
316-
command_interfaces.emplace_back(hardware_interface::CommandInterface(
317-
tf_prefix + "get_version", "get_version_async_success", &get_version_async_success_));
318-
319-
command_interfaces.emplace_back(
320-
hardware_interface::CommandInterface(tf_prefix + "get_version", "get_version_major", &get_version_major_));
321-
322-
command_interfaces.emplace_back(
323-
hardware_interface::CommandInterface(tf_prefix + "get_version", "get_version_minor", &get_version_minor_));
324-
325-
command_interfaces.emplace_back(
326-
hardware_interface::CommandInterface(tf_prefix + "get_version", "get_version_bugfix", &get_version_bugfix_));
327-
328-
command_interfaces.emplace_back(
329-
hardware_interface::CommandInterface(tf_prefix + "get_version", "get_version_build", &get_version_build_));
330-
331301
return command_interfaces;
332302
}
333303

@@ -633,9 +603,6 @@ hardware_interface::return_type URPositionHardwareInterface::read(const rclcpp::
633603
resend_robot_program_cmd_ = NO_NEW_CMD_;
634604
zero_ftsensor_cmd_ = NO_NEW_CMD_;
635605
hand_back_control_cmd_ = NO_NEW_CMD_;
636-
start_tool_contact_cmd_ = NO_NEW_CMD_;
637-
end_tool_contact_cmd_ = NO_NEW_CMD_;
638-
get_version_cmd_ = NO_NEW_CMD_;
639606
initialized_ = true;
640607
}
641608

@@ -760,26 +727,6 @@ void URPositionHardwareInterface::checkAsyncIO()
760727
zero_ftsensor_async_success_ = ur_driver_->zeroFTSensor();
761728
zero_ftsensor_cmd_ = NO_NEW_CMD_;
762729
}
763-
764-
if (!std::isnan(start_tool_contact_cmd_) && ur_driver_ != nullptr) {
765-
start_tool_contact_async_success_ = ur_driver_->startToolContact();
766-
start_tool_contact_cmd_ = NO_NEW_CMD_;
767-
}
768-
769-
if (!std::isnan(end_tool_contact_cmd_) && ur_driver_ != nullptr) {
770-
end_tool_contact_async_success_ = ur_driver_->endToolContact();
771-
end_tool_contact_cmd_ = NO_NEW_CMD_;
772-
}
773-
774-
if (!std::isnan(get_version_cmd_) && ur_driver_ != nullptr) {
775-
urcl::VersionInformation version_info = ur_driver_->getVersion();
776-
get_version_cmd_ = NO_NEW_CMD_;
777-
get_version_major_ = version_info.major;
778-
get_version_minor_ = version_info.minor;
779-
get_version_bugfix_ = version_info.bugfix;
780-
get_version_build_ = version_info.build;
781-
get_version_async_success_ = 1.0;
782-
}
783730
}
784731

785732
void URPositionHardwareInterface::updateNonDoubleValues()

ur_robot_driver/test/robot_driver.py

Lines changed: 0 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -249,20 +249,6 @@ def test_trajectory_scaled(self, tf_prefix):
249249
)
250250
self.assertEqual(result.error_code, FollowJointTrajectory.Result.SUCCESSFUL)
251251

252-
def test_tool_contact(self, tf_prefix):
253-
if self._io_status_controller_interface.get_version().major < 5:
254-
start_result = self._io_status_controller_interface.start_tool_contact()
255-
self.assertEqual(start_result.success, False)
256-
257-
end_result = self._io_status_controller_interface.end_tool_contact()
258-
self.assertEqual(end_result.success, False)
259-
else:
260-
start_result = self._io_status_controller_interface.start_tool_contact()
261-
self.assertEqual(start_result.success, True)
262-
263-
end_result = self._io_status_controller_interface.end_tool_contact()
264-
self.assertEqual(end_result.success, True)
265-
266252
def test_trajectory_scaled_aborts_on_violation(self, tf_prefix):
267253
"""Test that the robot correctly aborts the trajectory when the constraints are violated."""
268254
# Construct test trajectory

ur_robot_driver/test/test_common.py

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@
5252
IsProgramRunning,
5353
Load,
5454
)
55-
from ur_msgs.srv import SetIO, GetVersion
55+
from ur_msgs.srv import SetIO
5656

5757
TIMEOUT_WAIT_SERVICE = 10
5858
TIMEOUT_WAIT_SERVICE_INITIAL = 120 # If we download the docker image simultaneously to the tests, it can take quite some time until the dashboard server is reachable and usable.
@@ -240,12 +240,7 @@ class IoStatusInterface(
240240
_ServiceInterface,
241241
namespace="/io_and_status_controller",
242242
initial_services={"set_io": SetIO},
243-
services={
244-
"resend_robot_program": Trigger,
245-
"get_version": GetVersion,
246-
"start_tool_contact": Trigger,
247-
"end_tool_contact": Trigger,
248-
},
243+
services={"resend_robot_program": Trigger},
249244
):
250245
pass
251246

ur_robot_driver/urdf/ur.ros2_control.xacro

Lines changed: 0 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -224,25 +224,6 @@
224224
<command_interface name="zero_ftsensor_async_success"/>
225225
</gpio>
226226

227-
<gpio name="${tf_prefix}start_tool_contact">
228-
<command_interface name="start_tool_contact_cmd"/>
229-
<command_interface name="start_tool_contact_async_success"/>
230-
</gpio>
231-
232-
<gpio name="${tf_prefix}end_tool_contact">
233-
<command_interface name="end_tool_contact_cmd"/>
234-
<command_interface name="end_tool_contact_async_success"/>
235-
</gpio>
236-
237-
<gpio name="${tf_prefix}get_version">
238-
<command_interface name="get_version_cmd"/>
239-
<command_interface name="get_version_async_success"/>
240-
<command_interface name="get_version_major"/>
241-
<command_interface name="get_version_minor"/>
242-
<command_interface name="get_version_bugfix"/>
243-
<command_interface name="get_version_build"/>
244-
</gpio>
245-
246227
<gpio name="${tf_prefix}system_interface">
247228
<state_interface name="initialized"/>
248229
</gpio>

0 commit comments

Comments
 (0)