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!