@@ -28,8 +28,8 @@ namespace
2828
2929using ControllerTwistReferenceMsg =
3030 steering_controllers_library::SteeringControllersLibrary::ControllerTwistReferenceMsg;
31- using ControllerAckermannReferenceMsg =
32- steering_controllers_library::SteeringControllersLibrary::ControllerAckermannReferenceMsg ;
31+ using ControllerSteeringReferenceMsg =
32+ steering_controllers_library::SteeringControllersLibrary::ControllerSteeringReferenceMsg ;
3333
3434// called from RT control loop
3535void reset_controller_reference_msg (
@@ -46,15 +46,12 @@ void reset_controller_reference_msg(
4646}
4747
4848void reset_controller_reference_msg (
49- const std::shared_ptr<ControllerAckermannReferenceMsg > & msg,
49+ const std::shared_ptr<ControllerSteeringReferenceMsg > & msg,
5050 const std::shared_ptr<rclcpp_lifecycle::LifecycleNode> & node)
5151{
5252 msg->header .stamp = node->now ();
53- msg->drive .speed = std::numeric_limits<double >::quiet_NaN ();
54- msg->drive .acceleration = std::numeric_limits<double >::quiet_NaN ();
55- msg->drive .jerk = std::numeric_limits<double >::quiet_NaN ();
56- msg->drive .steering_angle = std::numeric_limits<double >::quiet_NaN ();
57- msg->drive .steering_angle_velocity = std::numeric_limits<double >::quiet_NaN ();
53+ msg->linear_velocity = std::numeric_limits<double >::quiet_NaN ();
54+ msg->steering_angle = std::numeric_limits<double >::quiet_NaN ();
5855}
5956
6057} // namespace
@@ -128,7 +125,7 @@ controller_interface::CallbackReturn SteeringControllersLibrary::on_configure(
128125 {
129126 RCLCPP_ERROR (
130127 get_node ()->get_logger (),
131- " Ackermann configuration requires exactly two traction joints, but %zu were provided" ,
128+ " Steering configuration requires exactly two traction joints, but %zu were provided" ,
132129 params_.traction_joints_names .size ());
133130 return controller_interface::CallbackReturn::ERROR;
134131 }
@@ -162,7 +159,7 @@ controller_interface::CallbackReturn SteeringControllersLibrary::on_configure(
162159 {
163160 RCLCPP_ERROR (
164161 get_node ()->get_logger (),
165- " Ackermann configuration requires exactly two steering joints, but %zu were provided" ,
162+ " Steering configuration requires exactly two steering joints, but %zu were provided" ,
166163 params_.steering_joints_names .size ());
167164 return controller_interface::CallbackReturn::ERROR;
168165 }
@@ -203,7 +200,7 @@ controller_interface::CallbackReturn SteeringControllersLibrary::on_configure(
203200 {
204201 RCLCPP_ERROR (
205202 get_node ()->get_logger (),
206- " Ackermann configuration requires exactly two traction joints, but %zu state interface "
203+ " Steering configuration requires exactly two traction joints, but %zu state interface "
207204 " names were provided" ,
208205 params_.traction_joints_state_names .size ());
209206 return controller_interface::CallbackReturn::ERROR;
@@ -248,7 +245,7 @@ controller_interface::CallbackReturn SteeringControllersLibrary::on_configure(
248245 {
249246 RCLCPP_ERROR (
250247 get_node ()->get_logger (),
251- " Ackermann configuration requires exactly two steering joints, but %zu state interface "
248+ " Steering configuration requires exactly two steering joints, but %zu state interface "
252249 " names were provided" ,
253250 params_.steering_joints_state_names .size ());
254251 return controller_interface::CallbackReturn::ERROR;
@@ -282,14 +279,14 @@ controller_interface::CallbackReturn SteeringControllersLibrary::on_configure(
282279 }
283280 else
284281 {
285- ref_subscriber_ackermann_ = get_node ()->create_subscription <ControllerAckermannReferenceMsg >(
282+ ref_subscriber_steering_ = get_node ()->create_subscription <ControllerSteeringReferenceMsg >(
286283 " ~/reference" , subscribers_qos,
287284 std::bind (
288- &SteeringControllersLibrary::reference_callback_ackermann , this , std::placeholders::_1));
289- std::shared_ptr<ControllerAckermannReferenceMsg > msg =
290- std::make_shared<ControllerAckermannReferenceMsg >();
285+ &SteeringControllersLibrary::reference_callback_steering , this , std::placeholders::_1));
286+ std::shared_ptr<ControllerSteeringReferenceMsg > msg =
287+ std::make_shared<ControllerSteeringReferenceMsg >();
291288 reset_controller_reference_msg (msg, get_node ());
292- input_ref_ackermann_ .writeFromNonRT (msg);
289+ input_ref_steering_ .writeFromNonRT (msg);
293290 }
294291
295292 try
@@ -400,8 +397,8 @@ void SteeringControllersLibrary::reference_callback_twist(
400397 }
401398}
402399
403- void SteeringControllersLibrary::reference_callback_ackermann (
404- const std::shared_ptr<ControllerAckermannReferenceMsg > msg)
400+ void SteeringControllersLibrary::reference_callback_steering (
401+ const std::shared_ptr<ControllerSteeringReferenceMsg > msg)
405402{
406403 // if no timestamp provided use current time for command timestamp
407404 if (msg->header .stamp .sec == 0 && msg->header .stamp .nanosec == 0u )
@@ -415,7 +412,7 @@ void SteeringControllersLibrary::reference_callback_ackermann(
415412
416413 if (ref_timeout_ == rclcpp::Duration::from_seconds (0 ) || age_of_last_command <= ref_timeout_)
417414 {
418- input_ref_ackermann_ .writeFromNonRT (msg);
415+ input_ref_steering_ .writeFromNonRT (msg);
419416 }
420417 else
421418 {
@@ -509,7 +506,7 @@ controller_interface::CallbackReturn SteeringControllersLibrary::on_activate(
509506 }
510507 else
511508 {
512- reset_controller_reference_msg (*(input_ref_ackermann_ .readFromRT ()), get_node ());
509+ reset_controller_reference_msg (*(input_ref_steering_ .readFromRT ()), get_node ());
513510 }
514511
515512 return controller_interface::CallbackReturn::SUCCESS;
@@ -539,11 +536,11 @@ controller_interface::return_type SteeringControllersLibrary::update_reference_f
539536 }
540537 else
541538 {
542- auto current_ref = *(input_ref_ackermann_ .readFromRT ());
543- if (!std::isnan (current_ref->drive . speed ) && !std::isnan (current_ref->drive . steering_angle ))
539+ auto current_ref = *(input_ref_steering_ .readFromRT ());
540+ if (!std::isnan (current_ref->linear_velocity ) && !std::isnan (current_ref->steering_angle ))
544541 {
545- reference_interfaces_[0 ] = current_ref->drive . speed ;
546- reference_interfaces_[1 ] = current_ref->drive . steering_angle ;
542+ reference_interfaces_[0 ] = current_ref->linear_velocity ;
543+ reference_interfaces_[1 ] = current_ref->steering_angle ;
547544 }
548545 }
549546
@@ -562,9 +559,9 @@ controller_interface::return_type SteeringControllersLibrary::update_and_write_c
562559
563560 if (!std::isnan (reference_interfaces_[0 ]) && !std::isnan (reference_interfaces_[1 ]))
564561 {
565- const auto age_of_last_command =
566- params_. use_twist_input ? time - (*(input_ref_twist_.readFromRT ()))->header .stamp
567- : time - (*(input_ref_ackermann_ .readFromRT ()))->header .stamp ;
562+ const auto age_of_last_command = params_. use_twist_input
563+ ? time - (*(input_ref_twist_.readFromRT ()))->header .stamp
564+ : time - (*(input_ref_steering_ .readFromRT ()))->header .stamp ;
568565
569566 const auto timeout =
570567 age_of_last_command > ref_timeout_ && ref_timeout_ != rclcpp::Duration::from_seconds (0 );
0 commit comments