Description
When a tree contains multiple nodes with unremapped outputs of different types, behaviortree_cpp will throw an exception when the second node attempts to write to it's unremapped output port. The message looks something like this:
what(): Blackboard entry []: once declared, the type of a port shall not change. Previously declared type [geometry_msgs::Point_<std::allocator<void> >], current type [std_msgs::Bool_<std::allocator<void> >]
In my case, it's preceeded by this suspicious looking line in the print out of what keys and types are on the blackboard:
(geometry_msgs::Point_<std::allocator<void> >)
Note the whitespace at the beginning of that line that to indicates that the blackboard entry with key "" (empty string) has a type geometry_msgs::Point.