Skip to content

Commit 18c1ea9

Browse files
committed
Modified torque disable
Signed-off-by: Wonho Yun <[email protected]>
1 parent 8cb952d commit 18c1ea9

File tree

2 files changed

+18
-1
lines changed

2 files changed

+18
-1
lines changed

include/dynamixel_hardware_interface/dynamixel_hardware_interface.hpp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -191,6 +191,8 @@ class DynamixelHardware : public
191191
bool is_read_in_error_{false};
192192
bool is_write_in_error_{false};
193193

194+
bool global_torque_enable_{true};
195+
194196
bool use_revolute_to_prismatic_{false};
195197
std::string conversion_dxl_name_{""};
196198
std::string conversion_joint_name_{""};

src/dynamixel_hardware_interface.cpp

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,17 @@ hardware_interface::CallbackReturn DynamixelHardware::on_init(
7676
e.what());
7777
}
7878

79+
try {
80+
global_torque_enable_ =
81+
std::stoi(info_.hardware_parameters["torque_enable"]) != 0;
82+
RCLCPP_INFO_STREAM(
83+
logger_, "Torque enable parameter: " << global_torque_enable_);
84+
} catch (const std::exception & e) {
85+
RCLCPP_ERROR(
86+
logger_, "Failed to parse torque_enable parameter: %s, using default value",
87+
e.what());
88+
}
89+
7990
RCLCPP_INFO_STREAM(
8091
logger_,
8192
"port_name " << port_name_.c_str() << " / baudrate " << baud_rate_.c_str());
@@ -408,7 +419,11 @@ hardware_interface::CallbackReturn DynamixelHardware::start()
408419
}
409420
usleep(500 * 1000);
410421

411-
dxl_comm_->DynamixelEnable(dxl_id_);
422+
if (global_torque_enable_){
423+
dxl_comm_->DynamixelEnable(dxl_id_);
424+
} else{
425+
RCLCPP_INFO_STREAM(logger_, "Global Torque is disabled!");
426+
}
412427

413428
RCLCPP_INFO_STREAM(logger_, "Dynamixel Hardware Start!");
414429

0 commit comments

Comments
 (0)