@@ -497,23 +497,20 @@ void PidROS::publish_pid_state(double cmd, double error, rclcpp::Duration dt)
497
497
// Publish controller state if configured
498
498
if (rt_state_pub_)
499
499
{
500
- if (rt_state_pub_->trylock ())
501
- {
502
- rt_state_pub_->msg_ .header .stamp = rclcpp::Clock ().now ();
503
- rt_state_pub_->msg_ .timestep = dt;
504
- rt_state_pub_->msg_ .error = error;
505
- rt_state_pub_->msg_ .error_dot = d_error;
506
- rt_state_pub_->msg_ .p_error = p_error;
507
- rt_state_pub_->msg_ .i_error = i_term;
508
- rt_state_pub_->msg_ .d_error = d_error;
509
- rt_state_pub_->msg_ .p_term = gains.p_gain_ ;
510
- rt_state_pub_->msg_ .i_term = gains.i_gain_ ;
511
- rt_state_pub_->msg_ .d_term = gains.d_gain_ ;
512
- rt_state_pub_->msg_ .i_max = gains.i_max_ ;
513
- rt_state_pub_->msg_ .i_min = gains.i_min_ ;
514
- rt_state_pub_->msg_ .output = cmd;
515
- rt_state_pub_->unlockAndPublish ();
516
- }
500
+ pid_state_msg_.header .stamp = rclcpp::Clock ().now ();
501
+ pid_state_msg_.timestep = dt;
502
+ pid_state_msg_.error = error;
503
+ pid_state_msg_.error_dot = d_error;
504
+ pid_state_msg_.p_error = p_error;
505
+ pid_state_msg_.i_error = i_term;
506
+ pid_state_msg_.d_error = d_error;
507
+ pid_state_msg_.p_term = gains.p_gain_ ;
508
+ pid_state_msg_.i_term = gains.i_gain_ ;
509
+ pid_state_msg_.d_term = gains.d_gain_ ;
510
+ pid_state_msg_.i_max = gains.i_max_ ;
511
+ pid_state_msg_.i_min = gains.i_min_ ;
512
+ pid_state_msg_.output = cmd;
513
+ rt_state_pub_->try_publish (pid_state_msg_);
517
514
}
518
515
}
519
516
0 commit comments