From 1360b6ae6fb42760df312f5a3a6084c6e53b9741 Mon Sep 17 00:00:00 2001
From: Rainer Kartmann <rainer.kartmann@kit.edu>
Date: Tue, 28 Jun 2022 17:15:17 +0200
Subject: [PATCH] Add SimpleVirtualRobot to scenario. Remove
 RobotStateComponent and RobotToArViz from scenario. Remove old config files

---
 .../ArMemExample/config/ExampleMemory.cfg     |  16 --
 .../config/ExampleMemoryClient.cfg            |   8 -
 .../ArMemObjectMemory/ArMemObjectMemory.scx   |   4 +-
 ...culatedObjectExampleMemoryWriterClient.cfg | 251 -----------------
 ...ulatedObjectLocalizerExample.instance1.cfg | 254 ------------------
 .../ArticulatedObjectStateProviderExample.cfg | 204 --------------
 .../ArMemObjectMemory/config/ObjectMemory.cfg |  20 +-
 ...tToArVizApp.cfg => SimpleVirtualRobot.cfg} |  75 +++---
 8 files changed, 42 insertions(+), 790 deletions(-)
 delete mode 100644 scenarios/ArMemObjectMemory/config/ArticulatedObjectExampleMemoryWriterClient.cfg
 delete mode 100644 scenarios/ArMemObjectMemory/config/ArticulatedObjectLocalizerExample.instance1.cfg
 delete mode 100644 scenarios/ArMemObjectMemory/config/ArticulatedObjectStateProviderExample.cfg
 rename scenarios/ArMemObjectMemory/config/{RobotToArVizApp.cfg => SimpleVirtualRobot.cfg} (78%)

diff --git a/scenarios/ArMemExample/config/ExampleMemory.cfg b/scenarios/ArMemExample/config/ExampleMemory.cfg
index e2e7bb719..7989108bc 100644
--- a/scenarios/ArMemExample/config/ExampleMemory.cfg
+++ b/scenarios/ArMemExample/config/ExampleMemory.cfg
@@ -298,22 +298,6 @@ ArmarX.ArMemExampleMemory.tpc.pub.MemoryListener = MemoryUpdates
 # ArmarX.ExampleMemory.tpc.pub.DebugObserver = DebugObserver
 
 
-# ArmarX.ExampleMemory.tpc.pub.MemoryListener:  Name of the `MemoryListener` topic to publish data to.
-#  Attributes:
-#  - Default:            MemoryUpdates
-#  - Case sensitivity:   yes
-#  - Required:           no
-# ArmarX.ExampleMemory.tpc.pub.MemoryListener = MemoryUpdates
-
-
-# ArmarX.ExampleMemory.tpc.sub.MemoryListener:  Name of the `MemoryListener` topic to subscribe to.
-#  Attributes:
-#  - Default:            MemoryUpdates
-#  - Case sensitivity:   yes
-#  - Required:           no
-# ArmarX.ExampleMemory.tpc.sub.MemoryListener = MemoryUpdates
-
-
 # ArmarX.LoadLibraries:  Libraries to load at start up of the application. Must be enabled by the Application with enableLibLoading(). Format: PackageName:LibraryName;... or /absolute/path/to/library;...
 #  Attributes:
 #  - Default:            ""
diff --git a/scenarios/ArMemExample/config/ExampleMemoryClient.cfg b/scenarios/ArMemExample/config/ExampleMemoryClient.cfg
index 9c012266f..a379624fe 100644
--- a/scenarios/ArMemExample/config/ExampleMemoryClient.cfg
+++ b/scenarios/ArMemExample/config/ExampleMemoryClient.cfg
@@ -160,14 +160,6 @@ ArmarX.ArMemExampleClient.tpc.sub.MemoryListener = MemoryUpdates
 # ArmarX.ExampleMemoryClient.tpc.pub.DebugObserver = DebugObserver
 
 
-# ArmarX.ExampleMemoryClient.tpc.sub.MemoryListener:  Name of the `MemoryListener` topic to subscribe to.
-#  Attributes:
-#  - Default:            MemoryUpdates
-#  - Case sensitivity:   yes
-#  - Required:           no
-# ArmarX.ExampleMemoryClient.tpc.sub.MemoryListener = MemoryUpdates
-
-
 # ArmarX.LoadLibraries:  Libraries to load at start up of the application. Must be enabled by the Application with enableLibLoading(). Format: PackageName:LibraryName;... or /absolute/path/to/library;...
 #  Attributes:
 #  - Default:            ""
diff --git a/scenarios/ArMemObjectMemory/ArMemObjectMemory.scx b/scenarios/ArMemObjectMemory/ArMemObjectMemory.scx
index 7cdb42138..dfad872ec 100644
--- a/scenarios/ArMemObjectMemory/ArMemObjectMemory.scx
+++ b/scenarios/ArMemObjectMemory/ArMemObjectMemory.scx
@@ -6,9 +6,9 @@
 	<application name="RemoteGuiProviderApp" instance="" package="ArmarXGui" nodeName="" enabled="false" iceAutoRestart="false"/>
 	<application name="ObjectPoseProviderExample" instance="" package="RobotAPI" nodeName="" enabled="true" iceAutoRestart="false"/>
 	<application name="ArVizStorage" instance="" package="RobotAPI" nodeName="" enabled="false" iceAutoRestart="false"/>
-	<application name="RobotStateComponent" instance="" package="RobotAPI" nodeName="" enabled="true" iceAutoRestart="false"/>
-	<application name="RobotToArVizApp" instance="" package="RobotAPI" nodeName="" enabled="true" iceAutoRestart="false"/>
 	<application name="ObjectPoseClientExample" instance="" package="RobotAPI" nodeName="" enabled="true" iceAutoRestart="false"/>
 	<application name="ArticulatedObjectLocalizerExample" instance="" package="RobotAPI" nodeName="" enabled="true" iceAutoRestart="false"/>
+	<application name="RobotStateMemory" instance="" package="RobotAPI" nodeName="" enabled="true" iceAutoRestart="false"/>
+	<application name="SimpleVirtualRobot" instance="" package="RobotAPI" nodeName="" enabled="true" iceAutoRestart="false"/>
 </scenario>
 
diff --git a/scenarios/ArMemObjectMemory/config/ArticulatedObjectExampleMemoryWriterClient.cfg b/scenarios/ArMemObjectMemory/config/ArticulatedObjectExampleMemoryWriterClient.cfg
deleted file mode 100644
index 5082b0ffc..000000000
--- a/scenarios/ArMemObjectMemory/config/ArticulatedObjectExampleMemoryWriterClient.cfg
+++ /dev/null
@@ -1,251 +0,0 @@
-# ==================================================================
-# ArticulatedObjectExampleMemoryWriterClient properties
-# ==================================================================
-
-# ArmarX.AdditionalPackages:  List of additional ArmarX packages which should be in the list of default packages. If you have custom packages, which should be found by the gui or other apps, specify them here. Comma separated List.
-#  Attributes:
-#  - Default:            Default value not mapped.
-#  - Case sensitivity:   yes
-#  - Required:           no
-# ArmarX.AdditionalPackages = Default value not mapped.
-
-
-# ArmarX.ApplicationName:  Application name
-#  Attributes:
-#  - Default:            ""
-#  - Case sensitivity:   yes
-#  - Required:           no
-# ArmarX.ApplicationName = ""
-
-
-# ArmarX.ArticulatedObjectExampleMemoryWriterClient.EnableProfiling:  enable profiler which is used for logging performance events
-#  Attributes:
-#  - Default:            false
-#  - Case sensitivity:   yes
-#  - Required:           no
-#  - Possible values: {0, 1, false, no, true, yes}
-# ArmarX.ArticulatedObjectExampleMemoryWriterClient.EnableProfiling = false
-
-
-# ArmarX.ArticulatedObjectExampleMemoryWriterClient.MinimumLoggingLevel:  Local logging level only for this component
-#  Attributes:
-#  - Default:            Undefined
-#  - Case sensitivity:   yes
-#  - Required:           no
-#  - Possible values: {Debug, Error, Fatal, Important, Info, Undefined, Verbose, Warning}
-# ArmarX.ArticulatedObjectExampleMemoryWriterClient.MinimumLoggingLevel = Undefined
-
-
-# ArmarX.ArticulatedObjectExampleMemoryWriterClient.ObjectName:  Name of IceGrid well-known object
-#  Attributes:
-#  - Default:            ""
-#  - Case sensitivity:   yes
-#  - Required:           no
-# ArmarX.ArticulatedObjectExampleMemoryWriterClient.ObjectName = ""
-
-
-# ArmarX.ArticulatedObjectExampleMemoryWriterClient.mem.obj.articulated.ArMemMemoryNameSystem:  Ice object name of the `MemoryNameSystem` component.
-#  Attributes:
-#  - Default:            ArMemMemoryNameSystem
-#  - Case sensitivity:   yes
-#  - Required:           no
-ArmarX.ArticulatedObjectExampleMemoryWriterClient.mem.obj.articulated.ArMemMemoryNameSystem = MemoryNameSystem
-
-
-# ArmarX.ArticulatedObjectExampleMemoryWriterClient.mem.obj.articulated.CoreSegment:  Name of the memory core segment to use for object classes.
-#  Attributes:
-#  - Default:            ArticulatedObjectClass
-#  - Case sensitivity:   yes
-#  - Required:           no
-# ArmarX.ArticulatedObjectExampleMemoryWriterClient.mem.obj.articulated.CoreSegment = ArticulatedObjectClass
-
-
-# ArmarX.ArticulatedObjectExampleMemoryWriterClient.mem.obj.articulated.MemoryName:  
-#  Attributes:
-#  - Default:            Object
-#  - Case sensitivity:   yes
-#  - Required:           no
-# ArmarX.ArticulatedObjectExampleMemoryWriterClient.mem.obj.articulated.MemoryName = Object
-
-
-# ArmarX.ArticulatedObjectExampleMemoryWriterClient.mem.obj.articulated.ProviderName:  
-#  Attributes:
-#  - Case sensitivity:   yes
-#  - Required:           yes
-ArmarX.ArticulatedObjectExampleMemoryWriterClient.mem.obj.articulated.ProviderName = ExampleProvider
-
-
-# ArmarX.ArticulatedObjectExampleMemoryWriterClient.mem.obj.articulated.write.ArMemMemoryNameSystem:  No Description
-#  Attributes:
-#  - Default:            MemoryNameSystem
-#  - Case sensitivity:   no
-#  - Required:           no
-ArmarX.ArticulatedObjectExampleMemoryWriterClient.mem.obj.articulated.write.ArMemMemoryNameSystem = MemoryNameSystem
-
-
-# ArmarX.ArticulatedObjectExampleMemoryWriterClient.mem.obj.articulated.write.MemoryName:  No Description
-#  Attributes:
-#  - Default:            Object
-#  - Case sensitivity:   no
-#  - Required:           no
-ArmarX.ArticulatedObjectExampleMemoryWriterClient.mem.obj.articulated.write.MemoryName = Object
-
-
-# ArmarX.ArticulatedObjectExampleMemoryWriterClient.mem.obj.articulated.write.ProviderName:  No Description
-#  Attributes:
-#  - Default:            ExampleProvider
-#  - Case sensitivity:   no
-#  - Required:           no
-ArmarX.ArticulatedObjectExampleMemoryWriterClient.mem.obj.articulated.write.ProviderName = ExampleProvider
-
-
-# ArmarX.ArticulatedObjectExampleMemoryWriterClient.tpc.pub.DebugObserver:  Name of the `DebugObserver` topic to publish data to.
-#  Attributes:
-#  - Default:            DebugObserver
-#  - Case sensitivity:   yes
-#  - Required:           no
-# ArmarX.ArticulatedObjectExampleMemoryWriterClient.tpc.pub.DebugObserver = DebugObserver
-
-
-# ArmarX.CachePath:  Path for cache files. If relative path AND env. variable ARMARX_USER_CONFIG_DIR is set, the cache path will be made relative to ARMARX_USER_CONFIG_DIR. Otherwise if relative it will be relative to the default ArmarX config dir (${HOME}/.armarx)
-#  Attributes:
-#  - Default:            mongo/.cache
-#  - Case sensitivity:   yes
-#  - Required:           no
-# ArmarX.CachePath = mongo/.cache
-
-
-# ArmarX.Config:  Comma-separated list of configuration files 
-#  Attributes:
-#  - Default:            ""
-#  - Case sensitivity:   yes
-#  - Required:           no
-# ArmarX.Config = ""
-
-
-# ArmarX.DataPath:  Semicolon-separated search list for data files
-#  Attributes:
-#  - Default:            ""
-#  - Case sensitivity:   yes
-#  - Required:           no
-# ArmarX.DataPath = ""
-
-
-# ArmarX.DefaultPackages:  List of ArmarX packages which are accessible by default. Comma separated List. If you want to add your own packages and use all default ArmarX packages, use the property 'AdditionalPackages'.
-#  Attributes:
-#  - Default:            Default value not mapped.
-#  - Case sensitivity:   yes
-#  - Required:           no
-# ArmarX.DefaultPackages = Default value not mapped.
-
-
-# ArmarX.DependenciesConfig:  Path to the (usually generated) config file containing all data paths of all dependent projects. This property usually does not need to be edited.
-#  Attributes:
-#  - Default:            ./config/dependencies.cfg
-#  - Case sensitivity:   yes
-#  - Required:           no
-# ArmarX.DependenciesConfig = ./config/dependencies.cfg
-
-
-# ArmarX.DisableLogging:  Turn logging off in whole application
-#  Attributes:
-#  - Default:            false
-#  - Case sensitivity:   yes
-#  - Required:           no
-#  - Possible values: {0, 1, false, no, true, yes}
-# ArmarX.DisableLogging = false
-
-
-# ArmarX.EnableProfiling:  Enable profiling of CPU load produced by this application
-#  Attributes:
-#  - Default:            false
-#  - Case sensitivity:   yes
-#  - Required:           no
-#  - Possible values: {0, 1, false, no, true, yes}
-# ArmarX.EnableProfiling = false
-
-
-# ArmarX.LoadLibraries:  Libraries to load at start up of the application. Must be enabled by the Application with enableLibLoading(). Format: PackageName:LibraryName;... or /absolute/path/to/library;...
-#  Attributes:
-#  - Default:            ""
-#  - Case sensitivity:   yes
-#  - Required:           no
-# ArmarX.LoadLibraries = ""
-
-
-# ArmarX.LoggingGroup:  The logging group is transmitted with every ArmarX log message over Ice in order to group the message in the GUI.
-#  Attributes:
-#  - Default:            ""
-#  - Case sensitivity:   yes
-#  - Required:           no
-# ArmarX.LoggingGroup = ""
-
-
-# ArmarX.RedirectStdout:  Redirect std::cout and std::cerr to ArmarXLog
-#  Attributes:
-#  - Default:            true
-#  - Case sensitivity:   yes
-#  - Required:           no
-#  - Possible values: {0, 1, false, no, true, yes}
-# ArmarX.RedirectStdout = true
-
-
-# ArmarX.RemoteHandlesDeletionTimeout:  The timeout (in ms) before a remote handle deletes the managed object after the use count reached 0. This time can be used by a client to increment the count again (may be required when transmitting remote handles)
-#  Attributes:
-#  - Default:            3000
-#  - Case sensitivity:   yes
-#  - Required:           no
-# ArmarX.RemoteHandlesDeletionTimeout = 3000
-
-
-# ArmarX.SecondsStartupDelay:  The startup will be delayed by this number of seconds (useful for debugging)
-#  Attributes:
-#  - Default:            0
-#  - Case sensitivity:   yes
-#  - Required:           no
-# ArmarX.SecondsStartupDelay = 0
-
-
-# ArmarX.StartDebuggerOnCrash:  If this application crashes (segmentation fault) qtcreator will attach to this process and start the debugger.
-#  Attributes:
-#  - Default:            false
-#  - Case sensitivity:   yes
-#  - Required:           no
-#  - Possible values: {0, 1, false, no, true, yes}
-# ArmarX.StartDebuggerOnCrash = false
-
-
-# ArmarX.ThreadPoolSize:  Size of the ArmarX ThreadPool that is always running.
-#  Attributes:
-#  - Default:            1
-#  - Case sensitivity:   yes
-#  - Required:           no
-# ArmarX.ThreadPoolSize = 1
-
-
-# ArmarX.TopicSuffix:  Suffix appended to all topic names for outgoing topics. This is mainly used to direct all topics to another name for TopicReplaying purposes.
-#  Attributes:
-#  - Default:            ""
-#  - Case sensitivity:   yes
-#  - Required:           no
-# ArmarX.TopicSuffix = ""
-
-
-# ArmarX.UseTimeServer:  Enable using a global Timeserver (e.g. from ArmarXSimulator)
-#  Attributes:
-#  - Default:            false
-#  - Case sensitivity:   yes
-#  - Required:           no
-#  - Possible values: {0, 1, false, no, true, yes}
-# ArmarX.UseTimeServer = false
-
-
-# ArmarX.Verbosity:  Global logging level for whole application
-#  Attributes:
-#  - Default:            Info
-#  - Case sensitivity:   yes
-#  - Required:           no
-#  - Possible values: {Debug, Error, Fatal, Important, Info, Undefined, Verbose, Warning}
-# ArmarX.Verbosity = Info
-
-
diff --git a/scenarios/ArMemObjectMemory/config/ArticulatedObjectLocalizerExample.instance1.cfg b/scenarios/ArMemObjectMemory/config/ArticulatedObjectLocalizerExample.instance1.cfg
deleted file mode 100644
index 9d225df2f..000000000
--- a/scenarios/ArMemObjectMemory/config/ArticulatedObjectLocalizerExample.instance1.cfg
+++ /dev/null
@@ -1,254 +0,0 @@
-# ==================================================================
-# ArticulatedObjectLocalizerExample properties
-# ==================================================================
-
-# ArmarX.AdditionalPackages:  List of additional ArmarX packages which should be in the list of default packages. If you have custom packages, which should be found by the gui or other apps, specify them here. Comma separated List.
-#  Attributes:
-#  - Default:            Default value not mapped.
-#  - Case sensitivity:   yes
-#  - Required:           no
-# ArmarX.AdditionalPackages = Default value not mapped.
-
-
-# ArmarX.ApplicationName:  Application name
-#  Attributes:
-#  - Default:            ""
-#  - Case sensitivity:   yes
-#  - Required:           no
-# ArmarX.ApplicationName = ""
-
-
-# ArmarX.ArticulatedObjectLocalizerExample.EnableProfiling:  enable profiler which is used for logging performance events
-#  Attributes:
-#  - Default:            false
-#  - Case sensitivity:   yes
-#  - Required:           no
-#  - Possible values: {0, 1, false, no, true, yes}
-# ArmarX.ArticulatedObjectLocalizerExample.EnableProfiling = false
-
-
-# ArmarX.ArticulatedObjectLocalizerExample.MinimumLoggingLevel:  Local logging level only for this component
-#  Attributes:
-#  - Default:            Undefined
-#  - Case sensitivity:   yes
-#  - Required:           no
-#  - Possible values: {Debug, Error, Fatal, Important, Info, Undefined, Verbose, Warning}
-# ArmarX.ArticulatedObjectLocalizerExample.MinimumLoggingLevel = Undefined
-
-
-# ArmarX.ArticulatedObjectLocalizerExample.ObjectName:  Name of IceGrid well-known object
-#  Attributes:
-#  - Default:            ""
-#  - Case sensitivity:   yes
-#  - Required:           no
-# ArmarX.ArticulatedObjectLocalizerExample.ObjectName = ""
-
-
-# ArmarX.ArticulatedObjectLocalizerExample.mem.obj.articulated.CoreSegment:  Name of the memory core segment to use for object classes.
-#  Attributes:
-#  - Default:            Class
-#  - Case sensitivity:   yes
-#  - Required:           no
-# ArmarX.ArticulatedObjectLocalizerExample.mem.obj.articulated.CoreSegment = Class
-
-
-# ArmarX.ArticulatedObjectLocalizerExample.mem.obj.articulated.MemoryName:  
-#  Attributes:
-#  - Default:            Object
-#  - Case sensitivity:   yes
-#  - Required:           no
-# ArmarX.ArticulatedObjectLocalizerExample.mem.obj.articulated.MemoryName = Object
-
-
-# ArmarX.ArticulatedObjectLocalizerExample.mem.obj.articulated.ProviderName:  
-#  Attributes:
-#  - Default:            PriorKnowledgeData
-#  - Case sensitivity:   yes
-#  - Required:           no
-# ArmarX.ArticulatedObjectLocalizerExample.mem.obj.articulated.ProviderName = PriorKnowledgeData
-
-
-# ArmarX.ArticulatedObjectLocalizerExample.mns.MemoryNameSystemEnabled:  Whether to use (and depend on) the Memory Name System (MNS).
-# Set to false to use this memory as a stand-alone.
-#  Attributes:
-#  - Default:            true
-#  - Case sensitivity:   yes
-#  - Required:           no
-#  - Possible values: {0, 1, false, no, true, yes}
-# ArmarX.ArticulatedObjectLocalizerExample.mns.MemoryNameSystemEnabled = true
-
-
-# ArmarX.ArticulatedObjectLocalizerExample.mns.MemoryNameSystemName:  Name of the Memory Name System (MNS) component.
-#  Attributes:
-#  - Default:            MemoryNameSystem
-#  - Case sensitivity:   yes
-#  - Required:           no
-# ArmarX.ArticulatedObjectLocalizerExample.mns.MemoryNameSystemName = MemoryNameSystem
-
-
-# ArmarX.ArticulatedObjectLocalizerExample.tpc.pub.DebugObserver:  Name of the `DebugObserver` topic to publish data to.
-#  Attributes:
-#  - Default:            DebugObserver
-#  - Case sensitivity:   yes
-#  - Required:           no
-# ArmarX.ArticulatedObjectLocalizerExample.tpc.pub.DebugObserver = DebugObserver
-
-
-# ArmarX.ArticulatedObjectLocalizerExample.tpc.sub.MemoryListener:  Name of the `MemoryListener` topic to subscribe to.
-#  Attributes:
-#  - Default:            MemoryUpdates
-#  - Case sensitivity:   yes
-#  - Required:           no
-# ArmarX.ArticulatedObjectLocalizerExample.tpc.sub.MemoryListener = MemoryUpdates
-
-
-# ArmarX.ArticulatedObjectLocalizerExample.updateFrequency:  Memory update frequency (write).
-#  Attributes:
-#  - Default:            25
-#  - Case sensitivity:   yes
-#  - Required:           no
-# ArmarX.ArticulatedObjectLocalizerExample.updateFrequency = 25
-
-
-# ArmarX.CachePath:  Path for cache files. If relative path AND env. variable ARMARX_USER_CONFIG_DIR is set, the cache path will be made relative to ARMARX_USER_CONFIG_DIR. Otherwise if relative it will be relative to the default ArmarX config dir (${HOME}/.armarx)
-#  Attributes:
-#  - Default:            mongo/.cache
-#  - Case sensitivity:   yes
-#  - Required:           no
-# ArmarX.CachePath = mongo/.cache
-
-
-# ArmarX.Config:  Comma-separated list of configuration files 
-#  Attributes:
-#  - Default:            ""
-#  - Case sensitivity:   yes
-#  - Required:           no
-# ArmarX.Config = ""
-
-
-# ArmarX.DataPath:  Semicolon-separated search list for data files
-#  Attributes:
-#  - Default:            ""
-#  - Case sensitivity:   yes
-#  - Required:           no
-# ArmarX.DataPath = ""
-
-
-# ArmarX.DefaultPackages:  List of ArmarX packages which are accessible by default. Comma separated List. If you want to add your own packages and use all default ArmarX packages, use the property 'AdditionalPackages'.
-#  Attributes:
-#  - Default:            Default value not mapped.
-#  - Case sensitivity:   yes
-#  - Required:           no
-# ArmarX.DefaultPackages = Default value not mapped.
-
-
-# ArmarX.DependenciesConfig:  Path to the (usually generated) config file containing all data paths of all dependent projects. This property usually does not need to be edited.
-#  Attributes:
-#  - Default:            ./config/dependencies.cfg
-#  - Case sensitivity:   yes
-#  - Required:           no
-# ArmarX.DependenciesConfig = ./config/dependencies.cfg
-
-
-# ArmarX.DisableLogging:  Turn logging off in whole application
-#  Attributes:
-#  - Default:            false
-#  - Case sensitivity:   yes
-#  - Required:           no
-#  - Possible values: {0, 1, false, no, true, yes}
-# ArmarX.DisableLogging = false
-
-
-# ArmarX.EnableProfiling:  Enable profiling of CPU load produced by this application
-#  Attributes:
-#  - Default:            false
-#  - Case sensitivity:   yes
-#  - Required:           no
-#  - Possible values: {0, 1, false, no, true, yes}
-# ArmarX.EnableProfiling = false
-
-
-# ArmarX.LoadLibraries:  Libraries to load at start up of the application. Must be enabled by the Application with enableLibLoading(). Format: PackageName:LibraryName;... or /absolute/path/to/library;...
-#  Attributes:
-#  - Default:            ""
-#  - Case sensitivity:   yes
-#  - Required:           no
-# ArmarX.LoadLibraries = ""
-
-
-# ArmarX.LoggingGroup:  The logging group is transmitted with every ArmarX log message over Ice in order to group the message in the GUI.
-#  Attributes:
-#  - Default:            ""
-#  - Case sensitivity:   yes
-#  - Required:           no
-# ArmarX.LoggingGroup = ""
-
-
-# ArmarX.RedirectStdout:  Redirect std::cout and std::cerr to ArmarXLog
-#  Attributes:
-#  - Default:            true
-#  - Case sensitivity:   yes
-#  - Required:           no
-#  - Possible values: {0, 1, false, no, true, yes}
-# ArmarX.RedirectStdout = true
-
-
-# ArmarX.RemoteHandlesDeletionTimeout:  The timeout (in ms) before a remote handle deletes the managed object after the use count reached 0. This time can be used by a client to increment the count again (may be required when transmitting remote handles)
-#  Attributes:
-#  - Default:            3000
-#  - Case sensitivity:   yes
-#  - Required:           no
-# ArmarX.RemoteHandlesDeletionTimeout = 3000
-
-
-# ArmarX.SecondsStartupDelay:  The startup will be delayed by this number of seconds (useful for debugging)
-#  Attributes:
-#  - Default:            0
-#  - Case sensitivity:   yes
-#  - Required:           no
-# ArmarX.SecondsStartupDelay = 0
-
-
-# ArmarX.StartDebuggerOnCrash:  If this application crashes (segmentation fault) qtcreator will attach to this process and start the debugger.
-#  Attributes:
-#  - Default:            false
-#  - Case sensitivity:   yes
-#  - Required:           no
-#  - Possible values: {0, 1, false, no, true, yes}
-# ArmarX.StartDebuggerOnCrash = false
-
-
-# ArmarX.ThreadPoolSize:  Size of the ArmarX ThreadPool that is always running.
-#  Attributes:
-#  - Default:            1
-#  - Case sensitivity:   yes
-#  - Required:           no
-# ArmarX.ThreadPoolSize = 1
-
-
-# ArmarX.TopicSuffix:  Suffix appended to all topic names for outgoing topics. This is mainly used to direct all topics to another name for TopicReplaying purposes.
-#  Attributes:
-#  - Default:            ""
-#  - Case sensitivity:   yes
-#  - Required:           no
-# ArmarX.TopicSuffix = ""
-
-
-# ArmarX.UseTimeServer:  Enable using a global Timeserver (e.g. from ArmarXSimulator)
-#  Attributes:
-#  - Default:            false
-#  - Case sensitivity:   yes
-#  - Required:           no
-#  - Possible values: {0, 1, false, no, true, yes}
-# ArmarX.UseTimeServer = false
-
-
-# ArmarX.Verbosity:  Global logging level for whole application
-#  Attributes:
-#  - Default:            Info
-#  - Case sensitivity:   yes
-#  - Required:           no
-#  - Possible values: {Debug, Error, Fatal, Important, Info, Undefined, Verbose, Warning}
-# ArmarX.Verbosity = Info
-
-
diff --git a/scenarios/ArMemObjectMemory/config/ArticulatedObjectStateProviderExample.cfg b/scenarios/ArMemObjectMemory/config/ArticulatedObjectStateProviderExample.cfg
deleted file mode 100644
index 392cba9cc..000000000
--- a/scenarios/ArMemObjectMemory/config/ArticulatedObjectStateProviderExample.cfg
+++ /dev/null
@@ -1,204 +0,0 @@
-# ==================================================================
-# ArticulatedObjectStateProviderExample properties
-# ==================================================================
-
-# ArmarX.AdditionalPackages:  List of additional ArmarX packages which should be in the list of default packages. If you have custom packages, which should be found by the gui or other apps, specify them here. Comma separated List.
-#  Attributes:
-#  - Default:            Default value not mapped.
-#  - Case sensitivity:   yes
-#  - Required:           no
-# ArmarX.AdditionalPackages = Default value not mapped.
-
-
-# ArmarX.ApplicationName:  Application name
-#  Attributes:
-#  - Default:            ""
-#  - Case sensitivity:   yes
-#  - Required:           no
-# ArmarX.ApplicationName = ""
-
-
-# ArmarX.ArticulatedObjectStateProviderExample.ArticulatedObjectTopicName:  Name of the articulated object topic.
-#  Attributes:
-#  - Default:            ArticulatedObjectTopic
-#  - Case sensitivity:   yes
-#  - Required:           no
-# ArmarX.ArticulatedObjectStateProviderExample.ArticulatedObjectTopicName = ArticulatedObjectTopic
-
-
-# ArmarX.ArticulatedObjectStateProviderExample.EnableProfiling:  enable profiler which is used for logging performance events
-#  Attributes:
-#  - Default:            false
-#  - Case sensitivity:   yes
-#  - Required:           no
-#  - Possible values: {0, 1, false, no, true, yes}
-# ArmarX.ArticulatedObjectStateProviderExample.EnableProfiling = false
-
-
-# ArmarX.ArticulatedObjectStateProviderExample.MinimumLoggingLevel:  Local logging level only for this component
-#  Attributes:
-#  - Default:            Undefined
-#  - Case sensitivity:   yes
-#  - Required:           no
-#  - Possible values: {Debug, Error, Fatal, Important, Info, Undefined, Verbose, Warning}
-# ArmarX.ArticulatedObjectStateProviderExample.MinimumLoggingLevel = Undefined
-
-
-# ArmarX.ArticulatedObjectStateProviderExample.ObjectName:  Name of IceGrid well-known object
-#  Attributes:
-#  - Default:            ""
-#  - Case sensitivity:   yes
-#  - Required:           no
-# ArmarX.ArticulatedObjectStateProviderExample.ObjectName = ""
-
-
-# ArmarX.ArticulatedObjectStateProviderExample.tpc.pub.DebugObserver:  Name of the `DebugObserver` topic to publish data to.
-#  Attributes:
-#  - Default:            DebugObserver
-#  - Case sensitivity:   yes
-#  - Required:           no
-# ArmarX.ArticulatedObjectStateProviderExample.tpc.pub.DebugObserver = DebugObserver
-
-
-# ArmarX.CachePath:  Path for cache files. If relative path AND env. variable ARMARX_USER_CONFIG_DIR is set, the cache path will be made relative to ARMARX_USER_CONFIG_DIR. Otherwise if relative it will be relative to the default ArmarX config dir (${HOME}/.armarx)
-#  Attributes:
-#  - Default:            mongo/.cache
-#  - Case sensitivity:   yes
-#  - Required:           no
-# ArmarX.CachePath = mongo/.cache
-
-
-# ArmarX.Config:  Comma-separated list of configuration files 
-#  Attributes:
-#  - Default:            ""
-#  - Case sensitivity:   yes
-#  - Required:           no
-# ArmarX.Config = ""
-
-
-# ArmarX.DataPath:  Semicolon-separated search list for data files
-#  Attributes:
-#  - Default:            ""
-#  - Case sensitivity:   yes
-#  - Required:           no
-# ArmarX.DataPath = ""
-
-
-# ArmarX.DefaultPackages:  List of ArmarX packages which are accessible by default. Comma separated List. If you want to add your own packages and use all default ArmarX packages, use the property 'AdditionalPackages'.
-#  Attributes:
-#  - Default:            Default value not mapped.
-#  - Case sensitivity:   yes
-#  - Required:           no
-# ArmarX.DefaultPackages = Default value not mapped.
-
-
-# ArmarX.DependenciesConfig:  Path to the (usually generated) config file containing all data paths of all dependent projects. This property usually does not need to be edited.
-#  Attributes:
-#  - Default:            ./config/dependencies.cfg
-#  - Case sensitivity:   yes
-#  - Required:           no
-# ArmarX.DependenciesConfig = ./config/dependencies.cfg
-
-
-# ArmarX.DisableLogging:  Turn logging off in whole application
-#  Attributes:
-#  - Default:            false
-#  - Case sensitivity:   yes
-#  - Required:           no
-#  - Possible values: {0, 1, false, no, true, yes}
-# ArmarX.DisableLogging = false
-
-
-# ArmarX.EnableProfiling:  Enable profiling of CPU load produced by this application
-#  Attributes:
-#  - Default:            false
-#  - Case sensitivity:   yes
-#  - Required:           no
-#  - Possible values: {0, 1, false, no, true, yes}
-# ArmarX.EnableProfiling = false
-
-
-# ArmarX.LoadLibraries:  Libraries to load at start up of the application. Must be enabled by the Application with enableLibLoading(). Format: PackageName:LibraryName;... or /absolute/path/to/library;...
-#  Attributes:
-#  - Default:            ""
-#  - Case sensitivity:   yes
-#  - Required:           no
-# ArmarX.LoadLibraries = ""
-
-
-# ArmarX.LoggingGroup:  The logging group is transmitted with every ArmarX log message over Ice in order to group the message in the GUI.
-#  Attributes:
-#  - Default:            ""
-#  - Case sensitivity:   yes
-#  - Required:           no
-# ArmarX.LoggingGroup = ""
-
-
-# ArmarX.RedirectStdout:  Redirect std::cout and std::cerr to ArmarXLog
-#  Attributes:
-#  - Default:            true
-#  - Case sensitivity:   yes
-#  - Required:           no
-#  - Possible values: {0, 1, false, no, true, yes}
-# ArmarX.RedirectStdout = true
-
-
-# ArmarX.RemoteHandlesDeletionTimeout:  The timeout (in ms) before a remote handle deletes the managed object after the use count reached 0. This time can be used by a client to increment the count again (may be required when transmitting remote handles)
-#  Attributes:
-#  - Default:            3000
-#  - Case sensitivity:   yes
-#  - Required:           no
-# ArmarX.RemoteHandlesDeletionTimeout = 3000
-
-
-# ArmarX.SecondsStartupDelay:  The startup will be delayed by this number of seconds (useful for debugging)
-#  Attributes:
-#  - Default:            0
-#  - Case sensitivity:   yes
-#  - Required:           no
-# ArmarX.SecondsStartupDelay = 0
-
-
-# ArmarX.StartDebuggerOnCrash:  If this application crashes (segmentation fault) qtcreator will attach to this process and start the debugger.
-#  Attributes:
-#  - Default:            false
-#  - Case sensitivity:   yes
-#  - Required:           no
-#  - Possible values: {0, 1, false, no, true, yes}
-# ArmarX.StartDebuggerOnCrash = false
-
-
-# ArmarX.ThreadPoolSize:  Size of the ArmarX ThreadPool that is always running.
-#  Attributes:
-#  - Default:            1
-#  - Case sensitivity:   yes
-#  - Required:           no
-# ArmarX.ThreadPoolSize = 1
-
-
-# ArmarX.TopicSuffix:  Suffix appended to all topic names for outgoing topics. This is mainly used to direct all topics to another name for TopicReplaying purposes.
-#  Attributes:
-#  - Default:            ""
-#  - Case sensitivity:   yes
-#  - Required:           no
-# ArmarX.TopicSuffix = ""
-
-
-# ArmarX.UseTimeServer:  Enable using a global Timeserver (e.g. from ArmarXSimulator)
-#  Attributes:
-#  - Default:            false
-#  - Case sensitivity:   yes
-#  - Required:           no
-#  - Possible values: {0, 1, false, no, true, yes}
-# ArmarX.UseTimeServer = false
-
-
-# ArmarX.Verbosity:  Global logging level for whole application
-#  Attributes:
-#  - Default:            Info
-#  - Case sensitivity:   yes
-#  - Required:           no
-#  - Possible values: {Debug, Error, Fatal, Important, Info, Undefined, Verbose, Warning}
-# ArmarX.Verbosity = Info
-
-
diff --git a/scenarios/ArMemObjectMemory/config/ObjectMemory.cfg b/scenarios/ArMemObjectMemory/config/ObjectMemory.cfg
index 5e0858b92..fb7453c41 100644
--- a/scenarios/ArMemObjectMemory/config/ObjectMemory.cfg
+++ b/scenarios/ArMemObjectMemory/config/ObjectMemory.cfg
@@ -641,15 +641,7 @@
 # ArmarX.ObjectMemory.mem.robot_state.Memory = RobotState
 
 
-# ArmarX.ObjectMemory.mem.robot_state.descriptionSegment:  
-#  Attributes:
-#  - Default:            Description
-#  - Case sensitivity:   yes
-#  - Required:           no
-# ArmarX.ObjectMemory.mem.robot_state.descriptionSegment = Description
-
-
-# ArmarX.ObjectMemory.mem.robot_state.localizationSegment:  
+# ArmarX.ObjectMemory.mem.robot_state.localizationSegment:  Name of the localization memory core segment to use.
 #  Attributes:
 #  - Default:            Localization
 #  - Case sensitivity:   yes
@@ -657,14 +649,6 @@
 # ArmarX.ObjectMemory.mem.robot_state.localizationSegment = Localization
 
 
-# ArmarX.ObjectMemory.mem.robot_state.proprioceptionSegment:  
-#  Attributes:
-#  - Default:            Proprioception
-#  - Case sensitivity:   yes
-#  - Required:           no
-# ArmarX.ObjectMemory.mem.robot_state.proprioceptionSegment = Proprioception
-
-
 # ArmarX.ObjectMemory.mns.MemoryNameSystemEnabled:  Whether to use (and depend on) the Memory Name System (MNS).
 # Set to false to use this memory as a stand-alone.
 #  Attributes:
@@ -696,7 +680,7 @@
 #  - Default:            Armar6
 #  - Case sensitivity:   yes
 #  - Required:           no
-# ArmarX.ObjectMemory.robotName = Armar6
+ArmarX.ObjectMemory.robotName = CameraOnTripod
 
 
 # ArmarX.ObjectMemory.tpc.pub.DebugObserver:  Name of the `DebugObserver` topic to publish data to.
diff --git a/scenarios/ArMemObjectMemory/config/RobotToArVizApp.cfg b/scenarios/ArMemObjectMemory/config/SimpleVirtualRobot.cfg
similarity index 78%
rename from scenarios/ArMemObjectMemory/config/RobotToArVizApp.cfg
rename to scenarios/ArMemObjectMemory/config/SimpleVirtualRobot.cfg
index 55d034d9c..55fd820eb 100644
--- a/scenarios/ArMemObjectMemory/config/RobotToArVizApp.cfg
+++ b/scenarios/ArMemObjectMemory/config/SimpleVirtualRobot.cfg
@@ -1,5 +1,5 @@
 # ==================================================================
-# RobotToArVizApp properties
+# SimpleVirtualRobot properties
 # ==================================================================
 
 # ArmarX.AdditionalPackages:  List of additional ArmarX packages which should be in the list of default packages. If you have custom packages, which should be found by the gui or other apps, specify them here. Comma separated List.
@@ -109,96 +109,97 @@
 # ArmarX.RemoteHandlesDeletionTimeout = 3000
 
 
-# ArmarX.RobotToArViz.ArVizStorageName:  Name of the ArViz storage
-#  Attributes:
-#  - Default:            ArVizStorage
-#  - Case sensitivity:   yes
-#  - Required:           no
-# ArmarX.RobotToArViz.ArVizStorageName = ArVizStorage
-
-
-# ArmarX.RobotToArViz.ArVizTopicName:  Name of the ArViz topic
+# ArmarX.SecondsStartupDelay:  The startup will be delayed by this number of seconds (useful for debugging)
 #  Attributes:
-#  - Default:            ArVizTopic
+#  - Default:            0
 #  - Case sensitivity:   yes
 #  - Required:           no
-# ArmarX.RobotToArViz.ArVizTopicName = ArVizTopic
+# ArmarX.SecondsStartupDelay = 0
 
 
-# ArmarX.RobotToArViz.EnableProfiling:  enable profiler which is used for logging performance events
+# ArmarX.SimpleVirtualRobot.EnableProfiling:  enable profiler which is used for logging performance events
 #  Attributes:
 #  - Default:            false
 #  - Case sensitivity:   yes
 #  - Required:           no
 #  - Possible values: {0, 1, false, no, true, yes}
-# ArmarX.RobotToArViz.EnableProfiling = false
+# ArmarX.SimpleVirtualRobot.EnableProfiling = false
 
 
-# ArmarX.RobotToArViz.MinimumLoggingLevel:  Local logging level only for this component
+# ArmarX.SimpleVirtualRobot.MinimumLoggingLevel:  Local logging level only for this component
 #  Attributes:
 #  - Default:            Undefined
 #  - Case sensitivity:   yes
 #  - Required:           no
 #  - Possible values: {Debug, Error, Fatal, Important, Info, Undefined, Verbose, Warning}
-# ArmarX.RobotToArViz.MinimumLoggingLevel = Undefined
+# ArmarX.SimpleVirtualRobot.MinimumLoggingLevel = Undefined
 
 
-# ArmarX.RobotToArViz.ObjectName:  Name of IceGrid well-known object
+# ArmarX.SimpleVirtualRobot.ObjectName:  Name of IceGrid well-known object
 #  Attributes:
 #  - Default:            ""
 #  - Case sensitivity:   yes
 #  - Required:           no
-# ArmarX.RobotToArViz.ObjectName = ""
+# ArmarX.SimpleVirtualRobot.ObjectName = ""
 
 
-# ArmarX.RobotToArViz.RemoteGuiName:  Name of the remote gui provider
+# ArmarX.SimpleVirtualRobot.mns.MemoryNameSystemEnabled:  Whether to use (and depend on) the Memory Name System (MNS).
+# Set to false to use this memory as a stand-alone.
 #  Attributes:
-#  - Default:            RemoteGuiProvider
+#  - Default:            true
 #  - Case sensitivity:   yes
 #  - Required:           no
-# ArmarX.RobotToArViz.RemoteGuiName = RemoteGuiProvider
+#  - Possible values: {0, 1, false, no, true, yes}
+# ArmarX.SimpleVirtualRobot.mns.MemoryNameSystemEnabled = true
 
 
-# ArmarX.RobotToArViz.RemoteStateComponentName:  Name of the robot state component
+# ArmarX.SimpleVirtualRobot.mns.MemoryNameSystemName:  Name of the Memory Name System (MNS) component.
 #  Attributes:
-#  - Default:            RobotStateComponent
+#  - Default:            MemoryNameSystem
 #  - Case sensitivity:   yes
 #  - Required:           no
-# ArmarX.RobotToArViz.RemoteStateComponentName = RobotStateComponent
+# ArmarX.SimpleVirtualRobot.mns.MemoryNameSystemName = MemoryNameSystem
 
 
-# ArmarX.RobotToArViz.ShowRobotNodeFrames:  If true, show frames of robot nodes (can be changed in RemoteGui).
+# ArmarX.SimpleVirtualRobot.p.oneShot:  If true, commit once after connecting, then stop.
 #  Attributes:
-#  - Default:            false
+#  - Default:            true
 #  - Case sensitivity:   yes
 #  - Required:           no
 #  - Possible values: {0, 1, false, no, true, yes}
-# ArmarX.RobotToArViz.ShowRobotNodeFrames = false
+# ArmarX.SimpleVirtualRobot.p.oneShot = true
 
 
-# ArmarX.RobotToArViz.UseCollisionModel:  Use the collision model for visualization
+# ArmarX.SimpleVirtualRobot.p.robot.name:  Optional override for the robot name. If not set, the default name from the robot model is used.
 #  Attributes:
-#  - Default:            false
+#  - Default:            ""
 #  - Case sensitivity:   yes
 #  - Required:           no
-#  - Possible values: {0, 1, false, no, true, yes}
-# ArmarX.RobotToArViz.UseCollisionModel = false
+# ArmarX.SimpleVirtualRobot.p.robot.name = ""
 
 
-# ArmarX.RobotToArViz.updateFrequency:  Target number of updates per second.
+# ArmarX.SimpleVirtualRobot.p.robot.package:  Package of the Simox robot XML.
 #  Attributes:
-#  - Default:            100
+#  - Default:            ""
 #  - Case sensitivity:   yes
 #  - Required:           no
-# ArmarX.RobotToArViz.updateFrequency = 100
+ArmarX.SimpleVirtualRobot.p.robot.package = RobotAPI
 
 
-# ArmarX.SecondsStartupDelay:  The startup will be delayed by this number of seconds (useful for debugging)
+# ArmarX.SimpleVirtualRobot.p.robot.path:  Local path of the Simox robot XML.
 #  Attributes:
-#  - Default:            0
+#  - Default:            ""
 #  - Case sensitivity:   yes
 #  - Required:           no
-# ArmarX.SecondsStartupDelay = 0
+ArmarX.SimpleVirtualRobot.p.robot.path = robots/CameraOnTripod/CameraOnTripod.xml
+
+
+# ArmarX.SimpleVirtualRobot.p.updateFrequency:  Memory update frequency (write).
+#  Attributes:
+#  - Default:            10
+#  - Case sensitivity:   yes
+#  - Required:           no
+# ArmarX.SimpleVirtualRobot.p.updateFrequency = 10
 
 
 # ArmarX.StartDebuggerOnCrash:  If this application crashes (segmentation fault) qtcreator will attach to this process and start the debugger.
-- 
GitLab