@@ -113,9 +113,9 @@ JointTrajectoryController::command_interface_configuration() const
113113 conf.names .push_back (joint_name + " /" + interface_type);
114114 }
115115 }
116- if (!params_.speed_scaling_command_interface_name .empty ())
116+ if (!params_.speed_scaling . command_interface .empty ())
117117 {
118- conf.names .push_back (params_.speed_scaling_command_interface_name );
118+ conf.names .push_back (params_.speed_scaling . command_interface );
119119 }
120120 return conf;
121121}
@@ -133,9 +133,9 @@ JointTrajectoryController::state_interface_configuration() const
133133 conf.names .push_back (joint_name + " /" + interface_type);
134134 }
135135 }
136- if (!params_.speed_scaling_state_interface_name .empty ())
136+ if (!params_.speed_scaling . state_interface .empty ())
137137 {
138- conf.names .push_back (params_.speed_scaling_state_interface_name );
138+ conf.names .push_back (params_.speed_scaling . state_interface );
139139 }
140140 return conf;
141141}
@@ -982,23 +982,23 @@ controller_interface::CallbackReturn JointTrajectoryController::on_configure(
982982 " ~/speed_scaling_input" , qos,
983983 [&](const SpeedScalingMsg & msg) { set_scaling_factor (msg.factor ); });
984984 RCLCPP_INFO (
985- logger, " Setting initial scaling factor to %2f" , params_.scaling_factor_initial_default );
986- scaling_factor_ = params_.scaling_factor_initial_default ;
985+ logger, " Setting initial scaling factor to %2f" ,
986+ params_.speed_scaling .initial_scaling_factor );
987+ scaling_factor_ = params_.speed_scaling .initial_scaling_factor ;
987988 }
988989 else
989990 {
990991 RCLCPP_WARN_EXPRESSION (
991- logger,
992- params.scaling_factor_initial_default != 1.0 ,
992+ logger, params_.speed_scaling .initial_scaling_factor != 1.0 ,
993993 " Speed scaling is currently only supported for position interfaces. If you want to make use "
994994 " of speed scaling, please only use a position interface when configuring this controller." );
995995 scaling_factor_ = 1.0 ;
996996 }
997- if (!params_.speed_scaling_state_interface_name .empty ())
997+ if (!params_.speed_scaling . state_interface .empty ())
998998 {
999999 RCLCPP_INFO (
10001000 logger, " Using scaling state from the hardware from interface %s." ,
1001- params_.speed_scaling_state_interface_name .c_str ());
1001+ params_.speed_scaling . state_interface .c_str ());
10021002 }
10031003 else
10041004 {
@@ -1033,11 +1033,11 @@ controller_interface::CallbackReturn JointTrajectoryController::on_activate(
10331033 default_tolerances_ = get_segment_tolerances (logger, params_);
10341034
10351035 // Set scaling interfaces
1036- if (!params_.speed_scaling_state_interface_name .empty ())
1036+ if (!params_.speed_scaling . state_interface .empty ())
10371037 {
10381038 auto it = std::find_if (
10391039 state_interfaces_.begin (), state_interfaces_.end (), [&](auto & interface)
1040- { return (interface.get_name () == params_.speed_scaling_state_interface_name ); });
1040+ { return (interface.get_name () == params_.speed_scaling . state_interface ); });
10411041 if (it != state_interfaces_.end ())
10421042 {
10431043 scaling_state_interface_ = *it;
@@ -1046,15 +1046,15 @@ controller_interface::CallbackReturn JointTrajectoryController::on_activate(
10461046 {
10471047 RCLCPP_ERROR (
10481048 logger, " Did not find speed scaling interface '%s' in state interfaces." ,
1049- params_.speed_scaling_state_interface_name .c_str ());
1049+ params_.speed_scaling . state_interface .c_str ());
10501050 return CallbackReturn::ERROR;
10511051 }
10521052 }
1053- if (!params_.speed_scaling_command_interface_name .empty ())
1053+ if (!params_.speed_scaling . command_interface .empty ())
10541054 {
10551055 auto it = std::find_if (
10561056 command_interfaces_.begin (), command_interfaces_.end (), [&](auto & interface)
1057- { return (interface.get_name () == params_.speed_scaling_command_interface_name ); });
1057+ { return (interface.get_name () == params_.speed_scaling . command_interface ); });
10581058 if (it != command_interfaces_.end ())
10591059 {
10601060 scaling_command_interface_ = *it;
@@ -1063,7 +1063,7 @@ controller_interface::CallbackReturn JointTrajectoryController::on_activate(
10631063 {
10641064 RCLCPP_ERROR (
10651065 logger, " Did not find speed scaling interface '%s' in command interfaces." ,
1066- params_.speed_scaling_command_interface_name .c_str ());
1066+ params_.speed_scaling . command_interface .c_str ());
10671067 return CallbackReturn::ERROR;
10681068 }
10691069 }
@@ -1774,13 +1774,15 @@ bool JointTrajectoryController::set_scaling_factor(double scaling_factor)
17741774 scaling_factor);
17751775 }
17761776 scaling_factor_.store (scaling_factor);
1777- if (params_.speed_scaling_command_interface_name .empty () && !params_.speed_scaling_state_interface_name .empty ())
1778- {
1779- RCLCPP_WARN_ONCE (
1780- get_node ()->get_logger (),
1781- " Setting the scaling factor while only one-way communication with the hardware is setup. "
1782- " This will likely get overwritten by the hardware again. If available, please also setup "
1783- " the speed_scaling_command_interface_name" );
1777+ if (
1778+ params_.speed_scaling .command_interface .empty () &&
1779+ !params_.speed_scaling .state_interface .empty ())
1780+ {
1781+ RCLCPP_WARN_ONCE (
1782+ get_node ()->get_logger (),
1783+ " Setting the scaling factor while only one-way communication with the hardware is setup. "
1784+ " This will likely get overwritten by the hardware again. If available, please also setup "
1785+ " the speed_scaling_command_interface_name" );
17841786 }
17851787 else
17861788 {
0 commit comments