|
The ObjectMemoryEditor implements the interactive interface of ArViz in order to allow editing object instances in the object memory. This is how to use it.
The ObjectMemoryEditor allows to modify object instances held in the object memory. To begin editing, you need the memory name system (e.g. scenario ArMemCore) and any scenario that provides the ObjectMemory an ObjectPoseProvider or a scene snapshot loaded by the ObjectMemory. For the examples here, the ArMemObjectMemory scenario is used.
The actual editor is a component too, which is part of the edit_object_memory scenario. After starting all the components, you only need ArViz Godot to see and interact with the scene. ArViz Godot can be started using the icon in the ArmarX GUI (upper left) or with the arviz-godot
command. Using the normal ArViz visualization client is possible too, although the controls differ. For help on using ArViz Godot itself, use the Scene > Help menu in the upper left corner.
ArViz Godot will show all current layers, but you only want the layers of the ObjectMemoryEditor. Use the layer menu in the top right corner to disable all other layers.
Now you can begin editing all objects in the scene. Click on an object to select it, which will show a simple selection indicator. In the upper left corner of the screen, you activate either the Move or Rotate mode and then use the gizmos to transform a selected object.
With a left mouse click on an object the context menu is opened. The first set of options work affect only the current object:
There are two ways of adding new objects to the scene. Cloning is simple and direct, but the new object of same type as the original. To create objects of different type placeholders are used. Placeholders can be moved around the scene like real object, but they are not actually part of the scene. By left-clicking on them a list with all available object types is opened. Selecting one of the entries replaced the placeholder with a new object of selected type.
Changed elements in the scene are drawn transparently, their color indicating the kind of the change. These changes are only stored locally and are not yet committed to the memory. To manage all changes, the second set of options on each object is used.
By default, all objects in the scene are scaled up by 1% to simplify selecting them. This can be adjusted in the options of the component.
After creating a scene, the next step is to save it. This is done using the RemoteGui of the ObjectMemory. Open the RemoteGui in ArmarX GUI. In the Data box, type in a name for the current scene and press Store Scene.
To load a scene, set the correct name of the scene in the SnapshotToLoad property of the ObjectMemory.