robot state memory update
Disclaimer: sorry, a bit messy; more changes than initially expected due to changes in base class: MemoryConnector.h (now using a PluginUser class) has been removed. The PR https://gitlab.com/ArmarX/RobotAPI/-/merge_requests/141 should be merged first as I started from there.
Changes to RobotStateMemory:
- The robot state memory now has 3 segments: Localization, Proprioception and Description. The latter stores the robot description, so to say the "information to instantiate a robot model". Currently, I only store a XML file link there, but in the future, it should be the robot nodes and its properties to track changes over time (e.g. installing a new camera, changing hands, ...)
- The robot state memory core segments are now implemented in separate files, each is called Segment.h, similar to the object memory. This segment class has an attached visu class to allow memory-side visualization (to ArViz). Visualization can be turned on and off via properties.
- as the robot state memory and the object memory (the articulated objects in particular) use the same XML Aron definitions, e.g. Robot, RobotDescription and RobotState, there is a new library armem_robot to avoid dependencies between armem_robot_state and armem_objects.
Further changes:
- All my memory client classes, e.g. TransformReader are now refactored: As mentioned, the MemoryConnector class is now gone and replaced by memory Client**ComponentPluginUser classes.
Edited by Fabian Reister