Description
When multiple TSRs are defined in a DART environment with the same base and target, the IK module from DART only solves for the most recently defined one.
Expected Behavior
It's expected that the IK module would report information about the TSR that it's being called with.
Current Behavior
I have an example with two TSRs defined from a table to a cube. The first TSR is considered the placement region for the cube and the second is considered the goal for the cube. Whenever I run anything that calls the IK module (i.e. getErrorWorld or solveWorld from TSR), it only reports the solution for the goal TSR for the cube.
However, if I remove the goal TSR, it provides the correct solution. Additionally, if I define these TSRs in inverse order (goal before the table TSR), I always get the solutions for the table TSR.
Steps to Reproduce
- Define two TSRs with the same target and base.
- Call TSR::solveWorld on the first defined TSR.
Context (Environment)
For Multi-Modal Planning, we rely on a foliation abstraction on top of TSRs. This means that there will likely be many TSRs defined in a given environment. Without this working, it's not possible to define goal regions as I'd like to atm.