@@ -325,9 +325,10 @@ DynamixelHardware::export_state_interfaces()
325
325
for (size_t i = 0 ; i < it.value_ptr_vec .size (); i++) {
326
326
if (i >= it.interface_name_vec .size ()) {
327
327
RCLCPP_ERROR_STREAM (
328
- logger_, " Interface name vector size mismatch for " << it.name <<
329
- " . Expected size: " << it.value_ptr_vec .size () <<
330
- " , Actual size: " << it.interface_name_vec .size ());
328
+ logger_,
329
+ " Interface name vector size mismatch for " << it.name <<
330
+ " . Expected size: " << it.value_ptr_vec .size () <<
331
+ " , Actual size: " << it.interface_name_vec .size ());
331
332
continue ;
332
333
}
333
334
state_interfaces.emplace_back (
@@ -340,8 +341,8 @@ DynamixelHardware::export_state_interfaces()
340
341
if (i >= it.interface_name_vec .size ()) {
341
342
RCLCPP_ERROR_STREAM (
342
343
logger_, " Interface name vector size mismatch for joint " << it.name <<
343
- " . Expected size: " << it.value_ptr_vec .size () <<
344
- " , Actual size: " << it.interface_name_vec .size ());
344
+ " . Expected size: " << it.value_ptr_vec .size () <<
345
+ " , Actual size: " << it.interface_name_vec .size ());
345
346
continue ;
346
347
}
347
348
state_interfaces.emplace_back (
@@ -354,8 +355,8 @@ DynamixelHardware::export_state_interfaces()
354
355
if (i >= it.interface_name_vec .size ()) {
355
356
RCLCPP_ERROR_STREAM (
356
357
logger_, " Interface name vector size mismatch for sensor " << it.name <<
357
- " . Expected size: " << it.value_ptr_vec .size () <<
358
- " , Actual size: " << it.interface_name_vec .size ());
358
+ " . Expected size: " << it.value_ptr_vec .size () <<
359
+ " , Actual size: " << it.interface_name_vec .size ());
359
360
continue ;
360
361
}
361
362
state_interfaces.emplace_back (
@@ -381,8 +382,8 @@ DynamixelHardware::export_command_interfaces()
381
382
if (i >= it.interface_name_vec .size ()) {
382
383
RCLCPP_ERROR_STREAM (
383
384
logger_, " Interface name vector size mismatch for " << it.name <<
384
- " . Expected size: " << it.value_ptr_vec .size () <<
385
- " , Actual size: " << it.interface_name_vec .size ());
385
+ " . Expected size: " << it.value_ptr_vec .size () <<
386
+ " , Actual size: " << it.interface_name_vec .size ());
386
387
continue ;
387
388
}
388
389
command_interfaces.emplace_back (
@@ -395,8 +396,8 @@ DynamixelHardware::export_command_interfaces()
395
396
if (i >= it.interface_name_vec .size ()) {
396
397
RCLCPP_ERROR_STREAM (
397
398
logger_, " Interface name vector size mismatch for joint " << it.name <<
398
- " . Expected size: " << it.value_ptr_vec .size () <<
399
- " , Actual size: " << it.interface_name_vec .size ());
399
+ " . Expected size: " << it.value_ptr_vec .size () <<
400
+ " , Actual size: " << it.interface_name_vec .size ());
400
401
continue ;
401
402
}
402
403
command_interfaces.emplace_back (
@@ -441,7 +442,7 @@ hardware_interface::CallbackReturn DynamixelHardware::start()
441
442
442
443
// Enable torque only for Dynamixels that have torque enabled in their parameters
443
444
std::vector<uint8_t > torque_enabled_ids;
444
- for (const auto & [id, enabled] : dxl_torque_enable_) {
445
+ for (const auto & [id, enabled] : dxl_torque_enable_) {
445
446
if (enabled) {
446
447
torque_enabled_ids.push_back (id);
447
448
}
@@ -699,8 +700,8 @@ bool DynamixelHardware::initItems(const std::string & type_filter)
699
700
dxl_torque_enable_[id] = torque_enabled;
700
701
701
702
// 1. First pass: Write Operating Mode parameters
702
- for (const auto & param : gpio.parameters ) {
703
- const std::string& param_name = param.first ;
703
+ for (const auto & param : gpio.parameters ) {
704
+ const std::string & param_name = param.first ;
704
705
if (param_name == " Operating Mode" ) {
705
706
if (!retryWriteItem (id, param_name, static_cast <uint32_t >(stoi (param.second )))) {
706
707
return false ;
@@ -709,10 +710,11 @@ bool DynamixelHardware::initItems(const std::string & type_filter)
709
710
}
710
711
711
712
// 2. Second pass: Write all Limit parameters
712
- for (const auto & param : gpio.parameters ) {
713
- const std::string& param_name = param.first ;
714
- // Skip special parameters
715
- if (param_name == " ID" || param_name == " type" || param_name == " Torque Enable" || param_name == " Operating Mode" ) {
713
+ for (const auto & param : gpio.parameters ) {
714
+ const std::string & param_name = param.first ;
715
+ if (param_name == " ID" || param_name == " type" ||
716
+ param_name == " Torque Enable" || param_name == " Operating Mode" )
717
+ {
716
718
continue ;
717
719
}
718
720
if (param_name.find (" Limit" ) != std::string::npos) {
@@ -723,10 +725,12 @@ bool DynamixelHardware::initItems(const std::string & type_filter)
723
725
}
724
726
725
727
// 3. Third pass: Write all other parameters (excluding already written ones)
726
- for (const auto & param : gpio.parameters ) {
727
- const std::string& param_name = param.first ;
728
- // Skip special and already written parameters
729
- if (param_name == " ID" || param_name == " type" || param_name == " Torque Enable" || param_name == " Operating Mode" || param_name.find (" Limit" ) != std::string::npos) {
728
+ for (const auto & param : gpio.parameters ) {
729
+ const std::string & param_name = param.first ;
730
+ if (param_name == " ID" || param_name == " type" ||
731
+ param_name == " Torque Enable" || param_name == " Operating Mode" ||
732
+ param_name.find (" Limit" ) != std::string::npos)
733
+ {
730
734
continue ;
731
735
}
732
736
if (!retryWriteItem (id, param_name, static_cast <uint32_t >(stoi (param.second )))) {
@@ -840,8 +844,8 @@ bool DynamixelHardware::InitDxlWriteItems()
840
844
841
845
for (auto it : gpio.command_interfaces ) {
842
846
if (it.name != " Goal Position" &&
843
- it.name != " Goal Velocity" &&
844
- it.name != " Goal Current" )
847
+ it.name != " Goal Velocity" &&
848
+ it.name != " Goal Current" )
845
849
{
846
850
continue ;
847
851
}
@@ -959,7 +963,8 @@ void DynamixelHardware::CalcTransmissionToJoint()
959
963
}
960
964
961
965
if (state_idx == PRESENT_POSITION_INDEX &&
962
- hdl_joint_states_.at (i).name == conversion_joint_name_) {
966
+ hdl_joint_states_.at (i).name == conversion_joint_name_)
967
+ {
963
968
value = revoluteToPrismatic (value);
964
969
}
965
970
@@ -981,7 +986,8 @@ void DynamixelHardware::CalcJointToTransmission()
981
986
982
987
for (size_t k = 0 ; k < hdl_trans_commands_.at (i).interface_name_vec .size (); k++) {
983
988
if (hdl_trans_commands_.at (i).interface_name_vec .at (k) == " Goal Position" &&
984
- hdl_trans_commands_.at (i).name == conversion_dxl_name_) {
989
+ hdl_trans_commands_.at (i).name == conversion_dxl_name_)
990
+ {
985
991
value = prismaticToRevolute (value);
986
992
}
987
993
@@ -993,18 +999,22 @@ void DynamixelHardware::CalcJointToTransmission()
993
999
994
1000
void DynamixelHardware::SyncJointCommandWithStates ()
995
1001
{
996
- for (auto & it_states : hdl_joint_states_) {
997
- for (auto & it_commands : hdl_joint_commands_) {
1002
+ for (auto & it_states : hdl_joint_states_) {
1003
+ for (auto & it_commands : hdl_joint_commands_) {
998
1004
if (it_states.name == it_commands.name ) {
999
1005
std::string pos_cmd_name = hardware_interface::HW_IF_POSITION;
1000
- std::string pos_dxl_name = ros2_to_dxl_cmd_map.count (pos_cmd_name) ? ros2_to_dxl_cmd_map.at (pos_cmd_name) : pos_cmd_name;
1006
+ std::string pos_dxl_name =
1007
+ ros2_to_dxl_cmd_map.count (pos_cmd_name) ? ros2_to_dxl_cmd_map.at (pos_cmd_name) :
1008
+ pos_cmd_name;
1001
1009
// Find index in command interfaces
1002
1010
auto cmd_it = std::find (
1003
1011
it_commands.interface_name_vec .begin (),
1004
1012
it_commands.interface_name_vec .end (),
1005
1013
pos_cmd_name);
1006
1014
if (cmd_it == it_commands.interface_name_vec .end ()) {
1007
- RCLCPP_WARN_STREAM (logger_, " No position interface found in command interfaces for joint '" << it_commands.name << " '. Skipping sync!" );
1015
+ RCLCPP_WARN_STREAM (logger_,
1016
+ " No position interface found in command interfaces for joint '" <<
1017
+ it_commands.name << " '. Skipping sync!" );
1008
1018
continue ;
1009
1019
}
1010
1020
size_t cmd_idx = std::distance (it_commands.interface_name_vec .begin (), cmd_it);
@@ -1014,7 +1024,9 @@ void DynamixelHardware::SyncJointCommandWithStates()
1014
1024
it_states.interface_name_vec .end (),
1015
1025
pos_cmd_name);
1016
1026
if (state_it == it_states.interface_name_vec .end ()) {
1017
- RCLCPP_WARN_STREAM (logger_, " No position interface found in state interfaces for joint '" << it_states.name << " '. Skipping sync!" );
1027
+ RCLCPP_WARN_STREAM (logger_,
1028
+ " No position interface found in state interfaces for joint '" <<
1029
+ it_states.name << " '. Skipping sync!" );
1018
1030
continue ;
1019
1031
}
1020
1032
size_t state_idx = std::distance (it_states.interface_name_vec .begin (), state_it);
0 commit comments