skiros2 icon indicating copy to clipboard operation
skiros2 copied to clipboard

Loading of reasoners in ROS 2 - Missing TF reasoning in skills

Open matthias-mayr opened this issue 4 months ago • 0 comments

Loading reasoners in ROS 2 needs to be tackled:

  1. Currently we do not use the reasoners_pkgs parameter that is passed
  2. When loading we initialize a new node. This means that one must not override the node name when launching the skill manager
  3. It seems that the AauSpatialReasoner is not spinning and therefore does not receive TF data

1. "reasoner_pkgs" parameter

As a workaround we hard-coded this parameter here for now:

https://github.com/RVMI/skiros2/blob/ed5bc907f8509f8223bf5c75ff2b7bcf9ff056e7/skiros2_common/skiros2_common/core/world_element.py#L119-L122

2. Creating a new node

When loading the reasoners for the first time we create a new node. Not only should that prevent us from accessing the parameter (afaik), but if the name of the "SkillManagerNode" is overwritten in the launch file, this name would also be used here when creating the second node. This leads to issues with ROS.

https://github.com/RVMI/skiros2/blob/ed5bc907f8509f8223bf5c75ff2b7bcf9ff056e7/skiros2_common/skiros2_common/core/world_element.py#L119-L120

3. The AauSpatialReasoner does seem to spin

It looks like the reasoner that is started with the procedure above does not spin. The would make sense since this node is never spun by any executor.
The observation is that TF operations from within skills can not be performed.


Solution:
All those 3 issues could be resolved if the node is passed.

matthias-mayr avatar Mar 01 '24 19:03 matthias-mayr