Action Feedback is not publishing at 1 Hz

Hi @nrjbs87, the Rate object is useless outside a loop:

For things to work as expected,

  • you need to publish the feedback in a loop.
  • self.rate.sleep() will need to be in the loop as well.

Something like:

# be careful here: don't use a condition that will never be false
# otherwise your action will never finish!
while some_condition_is_true:  
    self._feedback.feedback = command
    self._as.publish_feedback(self._feedback)
    self.rate.sleep()

That said, I don’t think publishing the feedback every second will work out of the box though, because the whole action will be completed in probably less than a second. Of course, you can intentionally make the action last longer just to have some fun!