Publisher behaviour
Closed this issue · 0 comments
stonier commented
class GenericPublisher(py_trees.behaviour.Behaviour):
def __init__(self, name, message_type, topic_name, blackboard_key, qos_profile):
super().__init(name):
self.message_type = message_type
self.topic_name = topic_name
self.key = blackboard_key
self.blackboard.register_key(blackboard_key, write=True)
self.qos_profile = qos_profile
def initialise():
// setup the publisher
def update():
try:
message = self.blackboard.get(self.key)
except KeyError:
return py_trees_common.Status.FAILURE
// check type(message) against self.message_type, if not matching
// throw an exception
self.publisher.publish(message)
To clear, one mechanism - just always follow this behaviour with an UnsetBlackboardVariable
behaviour.