Accessing the full PoseTree

Hi All,

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.

Any help would be greatly appreciated.

Regards

Hi,

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.

Regards

Ben.

Hi,

Thanks very much. I had suspected as much from what I had read but it is good to have it confirmed externally.

Also thanks for the advice on querying the posetree for any pose at any time without ISAAC_POSEX. I will play around with it a bit.