File tree Expand file tree Collapse file tree 1 file changed +23
-0
lines changed
joint_state_broadcaster/src Expand file tree Collapse file tree 1 file changed +23
-0
lines changed Original file line number Diff line number Diff line change @@ -201,6 +201,29 @@ controller_interface::CallbackReturn JointStateBroadcaster::on_activate(
201
201
return CallbackReturn::ERROR;
202
202
}
203
203
204
+ // Erase the interfaces that are not castable to double
205
+ std::vector<hardware_interface::LoanedStateInterface> state_interfaces_to_keep;
206
+ std::for_each (
207
+ state_interfaces_.begin (), state_interfaces_.end (),
208
+ [&state_interfaces_to_keep](hardware_interface::LoanedStateInterface & si)
209
+ {
210
+ if (si.is_castable_to_double ())
211
+ {
212
+ state_interfaces_to_keep.push_back (std::move (si));
213
+ }
214
+ else
215
+ {
216
+ RCLCPP_ERROR (
217
+ rclcpp::get_logger (" JointStateBroadcaster" ),
218
+ " State interface '%s' is not castable to double. "
219
+ " It will not be used in JointStateBroadcaster." ,
220
+ si.get_name ().c_str ());
221
+ }
222
+ });
223
+
224
+ state_interfaces_.clear ();
225
+ state_interfaces_ = std::move (state_interfaces_to_keep);
226
+
204
227
init_auxiliary_data ();
205
228
init_joint_state_msg ();
206
229
init_dynamic_joint_state_msg ();
You can’t perform that action at this time.
0 commit comments