For a task of mine I am interested in getting access to the full pose tree rather than individually declaring which ISAAC_POSE2 or ISAAC_POSE3 poses I am specifically after.
Is there functionality within Isaac to do this or is this not available at all?
I know there is a PoseTreeProto and I was thinking I could use that to get what I am after but I don’t know how I would access the PoseTree for the entire system.
There is currently noway to get access the full posetree, however you can query the posetree for any pose at any time from a component without using ISAAC_POSEX:
To get a pose:
node()->pose().get(lhs, rhs, time); // Pose3d
node()->pose().getPose2XY(lhs, rhs, time); // Pose2d
node()->pose().tryGet(lhs, rhs, time); // std::optional
node()->pose().tryGetPose2XY(lhs, rhs, time); // std::optional
And to set/update a pose:
node()->pose().set(lhs, rhs, pose, time); // pose can be either 2d or 3d.
I hope this will be enough for what you need, unfortunately there is no good way to get access to the posetee directly (list of edge with the history of the pose) at the moment.