Closed BasMaasWF closed 6 months ago
I think this is due to the subscriber itself being implemented as a singleton, and then when the connection is made with the bt action, the already received message is not pushed onto the queue of the new action
Hi @facontidavide, Did you by any chance found some time already to look into / reproduce this issue? Thanks in advance!
a PR was merged to fix this. closing
When using the
RosTopicSubNode
object and providing thetopic_name
port using a blackboard pointer, the subscriber is created on the first tick. When using topics with a transient local setting I would expect the last message on the topic to be provided as thelast_msg
argument on that same first tick. Instead we keep getting nullptr's.I've been playing around with multiple settings on either subscription as publisher side, but haven't been able to resolve my problem. The problem only occurs on the very first tick or ticks until the next message is published on the topics.
Is there a way to fix this? I heard from my colleagues this behavior also occurs for action/service nodes using blackboard pointers. for
action_name
andservice_name
. We haven't been testing publisher nodes, but perhaps the issue is present there as well.Reproducability I can reproduce my issue as follows: 1) Start publishing (transient local) messages
ros2 topic pub --qos-durability=transient_local --qos-history=keep_last --qos-depth=1 test_topic std_msgs/msg/Bool "{data: False}"
2) Start behaviortreeUsed behaviorTree
GetDigitalSignal Implementation
Groot Outcome