Skip to content
Snippets Groups Projects
Commit 3b9ad0b0 authored by armar-user's avatar armar-user
Browse files

Merge branch 'refactor/new_arch' of gitlab.com:ArmarX/RobotAPI into refactor/new_arch

parents fcfc48ba 4d02ca6b
No related branches found
No related tags found
No related merge requests found
Showing
with 1305 additions and 47 deletions
# ==================================================================
# DebugObserver 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.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.DebugObserver.CreateUpdateFrequenciesChannel: If true, an additional channel is created that shows the update frequency of every other channel in that observer.
# Attributes:
# - Default: false
# - Case sensitivity: yes
# - Required: no
# - Possible values: {0, 1, false, no, true, yes}
# ArmarX.DebugObserver.CreateUpdateFrequenciesChannel = false
# ArmarX.DebugObserver.DebugObserverTopicName: Name of the topic the DebugObserver listens on
# Attributes:
# - Default: DebugObserver
# - Case sensitivity: yes
# - Required: no
# ArmarX.DebugObserver.DebugObserverTopicName = DebugObserver
# ArmarX.DebugObserver.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.DebugObserver.EnableProfiling = false
# ArmarX.DebugObserver.MaxHistoryRecordFrequency: The Observer history is written with this maximum frequency. Everything faster is being skipped.
# Attributes:
# - Default: 50
# - Case sensitivity: yes
# - Required: no
# ArmarX.DebugObserver.MaxHistoryRecordFrequency = 50
# ArmarX.DebugObserver.MaxHistorySize: Maximum number of entries in the Observer history
# Attributes:
# - Default: 5000
# - Case sensitivity: yes
# - Required: no
# ArmarX.DebugObserver.MaxHistorySize = 5000
# ArmarX.DebugObserver.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.DebugObserver.MinimumLoggingLevel = Undefined
# ArmarX.DebugObserver.ObjectName: Name of IceGrid well-known object
# Attributes:
# - Default: ""
# - Case sensitivity: yes
# - Required: no
# ArmarX.DebugObserver.ObjectName = ""
# 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
...@@ -93,46 +93,6 @@ ArmarX.ArMemExampleMemory.tpc.pub.MemoryListener = MemoryUpdates ...@@ -93,46 +93,6 @@ ArmarX.ArMemExampleMemory.tpc.pub.MemoryListener = MemoryUpdates
# ArmarX.ExampleMemory.EnableProfiling = false # ArmarX.ExampleMemory.EnableProfiling = false
# ArmarX.ExampleMemory.Longtermmemorydatabase:
# Attributes:
# - Default: Test
# - Case sensitivity: yes
# - Required: no
# ArmarX.ExampleMemory.Longtermmemorydatabase = Test
# ArmarX.ExampleMemory.Longtermmemoryhost:
# Attributes:
# - Default: localhost
# - Case sensitivity: yes
# - Required: no
# ArmarX.ExampleMemory.Longtermmemoryhost = localhost
# ArmarX.ExampleMemory.Longtermmemorypassword:
# Attributes:
# - Default: ""
# - Case sensitivity: yes
# - Required: no
# ArmarX.ExampleMemory.Longtermmemorypassword = ""
# ArmarX.ExampleMemory.Longtermmemoryport:
# Attributes:
# - Default: 27017
# - Case sensitivity: yes
# - Required: no
# ArmarX.ExampleMemory.Longtermmemoryport = 27017
# ArmarX.ExampleMemory.Longtermmemoryuser:
# Attributes:
# - Default: ""
# - Case sensitivity: yes
# - Required: no
# ArmarX.ExampleMemory.Longtermmemoryuser = ""
# ArmarX.ExampleMemory.MinimumLoggingLevel: Local logging level only for this component # ArmarX.ExampleMemory.MinimumLoggingLevel: Local logging level only for this component
# Attributes: # Attributes:
# - Default: Undefined # - Default: Undefined
...@@ -175,12 +135,21 @@ ArmarX.ArMemExampleMemory.tpc.pub.MemoryListener = MemoryUpdates ...@@ -175,12 +135,21 @@ ArmarX.ArMemExampleMemory.tpc.pub.MemoryListener = MemoryUpdates
# ArmarX.ExampleMemory.core.DefaultSegments = ExampleModality, ExampleConcept # ArmarX.ExampleMemory.core.DefaultSegments = ExampleModality, ExampleConcept
# ArmarX.ExampleMemory.memory.Name: Name of this memory (server). # ArmarX.ExampleMemory.mem.MemoryName: Name of this memory server.
# Attributes: # Attributes:
# - Default: Example # - Default: Example
# - Case sensitivity: yes # - Case sensitivity: yes
# - Required: no # - Required: no
# ArmarX.ExampleMemory.memory.Name = Example # ArmarX.ExampleMemory.mem.MemoryName = Example
# ArmarX.ExampleMemory.mem.ltm.00_enabled:
# Attributes:
# - Default: true
# - Case sensitivity: yes
# - Required: no
# - Possible values: {0, 1, false, no, true, yes}
# ArmarX.ExampleMemory.mem.ltm.00_enabled = true
# ArmarX.ExampleMemory.mns.MemoryNameSystemEnabled: Whether to use (and depend on) the Memory Name System (MNS). # ArmarX.ExampleMemory.mns.MemoryNameSystemEnabled: Whether to use (and depend on) the Memory Name System (MNS).
...@@ -217,6 +186,14 @@ ArmarX.ArMemExampleMemory.tpc.pub.MemoryListener = MemoryUpdates ...@@ -217,6 +186,14 @@ ArmarX.ArMemExampleMemory.tpc.pub.MemoryListener = MemoryUpdates
# ArmarX.ExampleMemory.tpc.pub.MemoryListener = MemoryUpdates # 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;... # 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: # Attributes:
# - Default: "" # - Default: ""
......
<?xml version="1.0" encoding="utf-8"?>
<scenario name="ArMemMP" creation="2021-09-20.12:53:17" globalConfigName="./config/global.cfg" package="RobotAPI" deploymentType="local" nodeName="NodeMain">
<application name="MPMemory" instance="" package="RobotAPI" nodeName="" enabled="true" iceAutoRestart="false"/>
<application name="DebugObserver" instance="" package="ArmarXCore" nodeName="" enabled="true" iceAutoRestart="false"/>
<application name="RemoteGuiProviderApp" instance="" package="ArmarXGui" nodeName="" enabled="true" iceAutoRestart="false"/>
</scenario>
# ==================================================================
# DebugObserver 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.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.DebugObserver.CreateUpdateFrequenciesChannel: If true, an additional channel is created that shows the update frequency of every other channel in that observer.
# Attributes:
# - Default: false
# - Case sensitivity: yes
# - Required: no
# - Possible values: {0, 1, false, no, true, yes}
# ArmarX.DebugObserver.CreateUpdateFrequenciesChannel = false
# ArmarX.DebugObserver.DebugObserverTopicName: Name of the topic the DebugObserver listens on
# Attributes:
# - Default: DebugObserver
# - Case sensitivity: yes
# - Required: no
# ArmarX.DebugObserver.DebugObserverTopicName = DebugObserver
# ArmarX.DebugObserver.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.DebugObserver.EnableProfiling = false
# ArmarX.DebugObserver.MaxHistoryRecordFrequency: The Observer history is written with this maximum frequency. Everything faster is being skipped.
# Attributes:
# - Default: 50
# - Case sensitivity: yes
# - Required: no
# ArmarX.DebugObserver.MaxHistoryRecordFrequency = 50
# ArmarX.DebugObserver.MaxHistorySize: Maximum number of entries in the Observer history
# Attributes:
# - Default: 5000
# - Case sensitivity: yes
# - Required: no
# ArmarX.DebugObserver.MaxHistorySize = 5000
# ArmarX.DebugObserver.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.DebugObserver.MinimumLoggingLevel = Undefined
# ArmarX.DebugObserver.ObjectName: Name of IceGrid well-known object
# Attributes:
# - Default: ""
# - Case sensitivity: yes
# - Required: no
# ArmarX.DebugObserver.ObjectName = ""
# 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
# ==================================================================
# MPMemory 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.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.MPMemory.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.MPMemory.EnableProfiling = false
# ArmarX.MPMemory.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.MPMemory.MinimumLoggingLevel = Undefined
# ArmarX.MPMemory.ObjectName: Name of IceGrid well-known object
# Attributes:
# - Default: ""
# - Case sensitivity: yes
# - Required: no
# ArmarX.MPMemory.ObjectName = ""
# ArmarX.MPMemory.RemoteGuiName: Name of the remote gui provider
# Attributes:
# - Default: RemoteGuiProvider
# - Case sensitivity: yes
# - Required: no
# ArmarX.MPMemory.RemoteGuiName = RemoteGuiProvider
# ArmarX.MPMemory.core.DefaultSegments: Core segments to add on start up (just as example).
# Attributes:
# - Default: ExampleModality, ExampleConcept
# - Case sensitivity: yes
# - Required: no
# ArmarX.MPMemory.core.DefaultSegments = ExampleModality, ExampleConcept
# ArmarX.MPMemory.mem.MemoryName: Name of this memory server.
# Attributes:
# - Default: MP
# - Case sensitivity: yes
# - Required: no
# ArmarX.MPMemory.mem.MemoryName = MP
# ArmarX.MPMemory.mem.ltm.00_enabled:
# Attributes:
# - Default: true
# - Case sensitivity: yes
# - Required: no
# - Possible values: {0, 1, false, no, true, yes}
# ArmarX.MPMemory.mem.ltm.00_enabled = true
# ArmarX.MPMemory.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.MPMemory.mns.MemoryNameSystemEnabled = true
# ArmarX.MPMemory.mns.MemoryNameSystemName: Name of the Memory Name System (MNS) component.
# Attributes:
# - Default: MemoryNameSystem
# - Case sensitivity: yes
# - Required: no
# ArmarX.MPMemory.mns.MemoryNameSystemName = MemoryNameSystem
# ArmarX.MPMemory.tpc.pub.DebugObserver: Name of the `DebugObserver` topic to publish data to.
# Attributes:
# - Default: DebugObserver
# - Case sensitivity: yes
# - Required: no
# ArmarX.MPMemory.tpc.pub.DebugObserver = DebugObserver
# ArmarX.MPMemory.tpc.pub.MemoryListener: Name of the `MemoryListener` topic to publish data to.
# Attributes:
# - Default: MemoryUpdates
# - Case sensitivity: yes
# - Required: no
# ArmarX.MPMemory.tpc.pub.MemoryListener = MemoryUpdates
# ArmarX.MPMemory.tpc.sub.MemoryListener: Name of the `MemoryListener` topic to subscribe to.
# Attributes:
# - Default: MemoryUpdates
# - Case sensitivity: yes
# - Required: no
# ArmarX.MPMemory.tpc.sub.MemoryListener = MemoryUpdates
# 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
# ==================================================================
# RemoteGuiProviderApp 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.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.RemoteGuiProvider.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.RemoteGuiProvider.EnableProfiling = false
# ArmarX.RemoteGuiProvider.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.RemoteGuiProvider.MinimumLoggingLevel = Undefined
# ArmarX.RemoteGuiProvider.ObjectName: Name of IceGrid well-known object
# Attributes:
# - Default: ""
# - Case sensitivity: yes
# - Required: no
# ArmarX.RemoteGuiProvider.ObjectName = ""
# ArmarX.RemoteGuiProvider.TopicName: Name of the topic on which updates to the remote state are reported.
# Attributes:
# - Default: RemoteGuiTopic
# - Case sensitivity: yes
# - Required: no
# ArmarX.RemoteGuiProvider.TopicName = RemoteGuiTopic
# 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
# ==================================================================
# Global Config from Scenario ArMemMP
# ==================================================================
...@@ -9,6 +9,7 @@ armarx_add_component( ...@@ -9,6 +9,7 @@ armarx_add_component(
RobotAPIInterfaces RobotAPIInterfaces
RobotAPI::ArMem RobotAPI::ArMem
RobotAPI::ArMemMotions RobotAPI::ArMemMotions
RobotAPI::armem_mps
SOURCES SOURCES
MotionMemory.cpp MotionMemory.cpp
HEADERS HEADERS
......
...@@ -33,12 +33,14 @@ namespace armarx ...@@ -33,12 +33,14 @@ namespace armarx
const std::string prefix = "mem."; const std::string prefix = "mem.";
mdbMotions.defineProperties(defs, prefix + "mdbmotions."); mdbMotions.defineProperties(defs, prefix + "mdbmotions.");
motionPrimitive.defineProperties(defs, prefix + "trajs.");
return defs; return defs;
} }
MotionMemory::MotionMemory() : MotionMemory::MotionMemory() :
mdbMotions(iceAdapter()) mdbMotions(iceAdapter()),
motionPrimitive(iceAdapter())
{ {
} }
...@@ -52,12 +54,14 @@ namespace armarx ...@@ -52,12 +54,14 @@ namespace armarx
void MotionMemory::onInitComponent() void MotionMemory::onInitComponent()
{ {
mdbMotions.onInit(); mdbMotions.onInit();
motionPrimitive.onInit();
} }
void MotionMemory::onConnectComponent() void MotionMemory::onConnectComponent()
{ {
mdbMotions.onConnect(); mdbMotions.onConnect();
motionPrimitive.onConnect();
} }
......
...@@ -24,6 +24,8 @@ ...@@ -24,6 +24,8 @@
#include <RobotAPI/libraries/armem_motions/server/MotionDatabase/MDBMotions/Segment.h> #include <RobotAPI/libraries/armem_motions/server/MotionDatabase/MDBMotions/Segment.h>
#include <RobotAPI/libraries/armem_mps/server/MotionPrimitives/Segment.h>
#include <RobotAPI/libraries/armem/server/plugins/ReadWritePluginUser.h> #include <RobotAPI/libraries/armem/server/plugins/ReadWritePluginUser.h>
#include <ArmarXCore/core/Component.h> #include <ArmarXCore/core/Component.h>
...@@ -67,6 +69,7 @@ namespace armarx ...@@ -67,6 +69,7 @@ namespace armarx
private: private:
armem::server::motions::mdb::Segment mdbMotions; armem::server::motions::mdb::Segment mdbMotions;
armarx::armem::mps::MPSegment motionPrimitive;
// TODO: mdt Segment // TODO: mdt Segment
}; };
......
...@@ -66,9 +66,6 @@ namespace armarx::armem::server::robot_state ...@@ -66,9 +66,6 @@ namespace armarx::armem::server::robot_state
defs->optional(robotUnit.reader.properties.sensorPrefix, robotUnitPrefix + "SensorValuePrefix", defs->optional(robotUnit.reader.properties.sensorPrefix, robotUnitPrefix + "SensorValuePrefix",
"Prefix of all sensor values."); "Prefix of all sensor values.");
defs->optional(robotUnit.writer.properties.memoryBatchSize, robotUnitPrefix + "MemoryBatchSize",
"The size of the entity snapshot to send to the memory. Minimum is 1.")
.setMin(1);
defs->optional(robotUnit.pollFrequency, robotUnitPrefix + "UpdateFrequency", defs->optional(robotUnit.pollFrequency, robotUnitPrefix + "UpdateFrequency",
"The frequency to store values in Hz. All other values get discarded. " "The frequency to store values in Hz. All other values get discarded. "
"Minimum is 1, max is " + std::to_string(ROBOT_UNIT_MAXIMUM_FREQUENCY) + ".") "Minimum is 1, max is " + std::to_string(ROBOT_UNIT_MAXIMUM_FREQUENCY) + ".")
...@@ -102,7 +99,6 @@ namespace armarx::armem::server::robot_state ...@@ -102,7 +99,6 @@ namespace armarx::armem::server::robot_state
commonVisu.init(); commonVisu.init();
robotUnit.pollFrequency = std::clamp(robotUnit.pollFrequency, 0.f, ROBOT_UNIT_MAXIMUM_FREQUENCY); robotUnit.pollFrequency = std::clamp(robotUnit.pollFrequency, 0.f, ROBOT_UNIT_MAXIMUM_FREQUENCY);
robotUnit.writer.properties.memoryBatchSize = std::max(static_cast<unsigned int>(1), robotUnit.writer.properties.memoryBatchSize);
std::vector<std::string> includePaths; std::vector<std::string> includePaths;
std::vector<std::string> packages = armarx::Application::GetProjectDependencies(); std::vector<std::string> packages = armarx::Application::GetProjectDependencies();
......
...@@ -22,6 +22,7 @@ add_subdirectory(armem_robot_state) ...@@ -22,6 +22,7 @@ add_subdirectory(armem_robot_state)
add_subdirectory(armem_vision) add_subdirectory(armem_vision)
add_subdirectory(armem_skills) add_subdirectory(armem_skills)
add_subdirectory(armem_motions) add_subdirectory(armem_motions)
add_subdirectory(armem_mps)
add_subdirectory(aron) add_subdirectory(aron)
add_subdirectory(RobotUnitDataStreamingReceiver) add_subdirectory(RobotUnitDataStreamingReceiver)
......
set(LIB_NAME armem_mps)
armarx_component_set_name("${LIB_NAME}")
armarx_set_target("Library: ${LIB_NAME}")
find_package(DMP QUIET) # needs to be changed to new MP package
armarx_build_if(DMP_FOUND "DMP not available")
armarx_add_library(
LIBS
ArmarXCoreInterfaces
ArmarXCore
ArmarXCoreObservers
${DMP_LIBRARIES}
RobotAPI::Core
RobotAPI::armem
RobotAPI::PriorKnowledge::Motions
VirtualRobot
SOURCES
./aron_conversions.cpp
#./traj_conversions.cpp
./server/MotionPrimitives/motionprimitives.cpp
./server/MotionPrimitives/Segment.cpp
HEADERS
./aron_conversions.h
#./traj_conversions.h
./server/MotionPrimitives/motionprimitives.h
./server/MotionPrimitives/Segment.h
)
armarx_enable_aron_file_generation_for_target(
TARGET_NAME
"${LIB_NAME}"
ARON_FILES
aron/Trajectory.xml
)
add_library(RobotAPI::armem_mps ALIAS armem_mps)
#include "StatechartListener.h"
namespace armarx
{
void StatechartListener::setName(const std::string& name)
{
armarx::Component::setName(name);
}
void StatechartListener::setTopicName(const std::string& name)
{
this->topicName = name;
}
std::string StatechartListener::getTopicName() const
{
return topicName;
}
StatechartListener::~StatechartListener() = default;
std::string StatechartListener::getDefaultName() const
{
return "StatechartListener";
}
void StatechartListener::onInitComponent()
{
ARMARX_INFO << getName() << "::" << __FUNCTION__ << "()";
usingTopic(topicName);
}
void StatechartListener::onConnectComponent()
{
ARMARX_INFO << getName() << "::" << __FUNCTION__ << "()";
}
void StatechartListener::registerCallback(const StatechartListener::Callback& callback)
{
callbacks.push_back(callback);
}
void StatechartListener::publish(const std::vector<Transition>& message)
{
for (Callback& callback : callbacks)
{
callback(message, *this);
}
}
void
StatechartListener::reportStatechartTransitionWithParameters(const ProfilerStatechartTransitionWithParameters& transition,
const Ice::Current&)
{
publish({transition});
}
void StatechartListener::reportStatechartTransitionWithParametersList(
const ProfilerStatechartTransitionWithParametersList& transitions, const Ice::Current&)
{
publish(transitions);
}
}
#pragma once
#include <ArmarXCore/core/Component.h>
#include <ArmarXCore/interface/core/Profiler.h>
#include <ArmarXCore/observers/ObserverObjectFactories.h>
namespace armarx
{
class StatechartListener :
virtual public armarx::Component
, virtual public armarx::ProfilerListener
{
public:
using Transition = armarx::ProfilerStatechartTransitionWithParameters;
using Callback = std::function<void(const std::vector<StatechartListener::Transition>& transitions, StatechartListener& source)>;
public:
~StatechartListener() override;
void setTopicName(const std::string& topicName);
std::string getTopicName() const;
void setName(const std::string& name);
void registerCallback(const Callback& callback);
/// @see armarx::ManagedIceObject::getDefaultName()
std::string getDefaultName() const override;
protected:
void onInitComponent() override;
void onConnectComponent() override;
// ProfilerListener interface
public:
void reportStatechartTransitionWithParameters(const ProfilerStatechartTransitionWithParameters&, const Ice::Current&) override;
void reportStatechartTransitionWithParametersList(const ProfilerStatechartTransitionWithParametersList&, const Ice::Current&) override;
void reportNetworkTraffic(const std::string&, const std::string&, Ice::Int, Ice::Int, const Ice::Current&) override {}
void reportEvent(const ProfilerEvent&, const Ice::Current&) override {}
void reportStatechartTransition(const ProfilerStatechartTransition& event, const Ice::Current&) override {}
void reportStatechartInputParameters(const ProfilerStatechartParameters& event, const Ice::Current&) override {}
void reportStatechartLocalParameters(const ProfilerStatechartParameters& event, const Ice::Current&) override {}
void reportStatechartOutputParameters(const ProfilerStatechartParameters&, const Ice::Current&) override {}
void reportProcessCpuUsage(const ProfilerProcessCpuUsage&, const Ice::Current&) override {}
void reportProcessMemoryUsage(const ProfilerProcessMemoryUsage&, const Ice::Current&) override {}
void reportEventList(const ProfilerEventList& events, const Ice::Current&) override {}
void reportStatechartTransitionList(const ProfilerStatechartTransitionList&, const Ice::Current&) override {}
void reportStatechartInputParametersList(const ProfilerStatechartParametersList& data, const Ice::Current&) override {}
void reportStatechartLocalParametersList(const ProfilerStatechartParametersList&, const Ice::Current&) override {}
void reportStatechartOutputParametersList(const ProfilerStatechartParametersList&, const Ice::Current&) override {}
void reportProcessCpuUsageList(const ProfilerProcessCpuUsageList&, const Ice::Current&) override {}
void reportProcessMemoryUsageList(const ProfilerProcessMemoryUsageList&, const Ice::Current&) override {}
private:
std::string topicName;
std::vector<Callback> callbacks;
void publish(const std::vector<Transition>& message);
};
}
<!--
My nice data, representing nice information.
-->
<?xml version="1.0" encoding="UTF-8" ?>
<AronTypeDefinition>
<CodeIncludes>
</CodeIncludes>
<AronIncludes>
</AronIncludes>
<GenerateTypes>
<Object name="armarx::armem_mps::arondto::Trajectory">
<ObjectChild key="taskSpace">
<String />
</ObjectChild>
<ObjectChild key="jointSpace">
<String />
</ObjectChild>
</Object>
</GenerateTypes>
</AronTypeDefinition>
<!--
My nice data, representing nice information.
-->
<?xml version="1.0" encoding="UTF-8" ?>
<AronTypeDefinition>
<CodeIncludes>
</CodeIncludes>
<AronIncludes>
</AronIncludes>
<GenerateTypes>
<Object name="armarx::armem_mps::arondto::Trajectory">
<ObjectChild key="taskSpace">
<String />
</ObjectChild>
<ObjectChild key="jointSpace">
<String />
</ObjectChild>
</Object>
</GenerateTypes>
</AronTypeDefinition>
<!--
My nice data, representing nice information.
-->
<?xml version="1.0" encoding="UTF-8" ?>
<AronTypeDefinition>
<CodeIncludes>
</CodeIncludes>
<AronIncludes>
</AronIncludes>
<GenerateTypes>
<Object name="armarx::armem::arondto::TSElement">
<ObjectChild key="timestep">
<Float />
</ObjectChild>
<ObjectChild key="pose">
<Pose />
</ObjectChild>
</Object>
<Object name="armarx::armem::arondto::TSTrajectory">
<ObjectChild key="steps">
<List>
<armarx::armem::arondto::TSElement /> <!-- Mapping timesteps to map of joint values -->
</List>
</ObjectChild>
</Object>
<Object name="armarx::armem::arondto::JSElement">
<ObjectChild key="timestep">
<Float />
</ObjectChild>
<ObjectChild key="jointValues">
<List>
<Float />
</List>
</ObjectChild>
</Object>
<Object name="armarx::armem::arondto::JSTrajectory">
<ObjectChild key="steps">
<List>
<armarx::armem::arondto::JSElement /> <!-- Mapping timesteps to map of joint values -->
</List>
</ObjectChild>
</Object>
<Object name="armarx::armem::arondto::Trajectory">
<ObjectChild key="name">
<String />
</ObjectChild>
<ObjectChild key="taskSpace">
<armarx::armem::arondto::TSTrajectory />
</ObjectChild>
<ObjectChild key="jointSpace">
<armarx::armem::arondto::JSTrajectory />
</ObjectChild>
</Object>
</GenerateTypes>
</AronTypeDefinition>
<!--
My nice data, representing nice information.
-->
<?xml version="1.0" encoding="UTF-8" ?>
<AronTypeDefinition>
<CodeIncludes>
</CodeIncludes>
<AronIncludes>
</AronIncludes>
<GenerateTypes>
<Object name="armarx::armem_mps::arondto::Trajectory">
<ObjectChild key="taskSpace">
<String />
</ObjectChild>
<ObjectChild key="jointSpace">
<String />
</ObjectChild>
</Object>
<Object name="armarx::armem_mps::arondto::TaskspaceTrajectory">
<ObjectChild key="test">
<String />
</ObjectChild>
</Object>
<Object name="armarx::armem_mps::arondto::JointspaceTrajectory">
<ObjectChild key="test">
<Float />
</ObjectChild>
</Object>
</GenerateTypes>
</AronTypeDefinition>
<!--
My nice data, representing nice information.
-->
<?xml version="1.0" encoding="UTF-8" ?>
<AronTypeDefinition>
<CodeIncludes>
</CodeIncludes>
<AronIncludes>
</AronIncludes>
<GenerateTypes>
<Object name="armarx::armem::arondto::TSTrajectory">
<ObjectChild key="trajElements">
<Dict>
<Pose /> <!-- Mapping timesteps to poses -->
</Dict>
</ObjectChild>
</Object>
<Object name="armarx::armem::arondto::JSTrajectory">
<ObjectChild key="trajElements">
<Dict>
<List>
<Float /> <!-- Mapping timesteps to map of joint values -->
</List>
</Dict>
</ObjectChild>
</Object>
<Object name="armarx::armem::arondto::Trajectory">
<ObjectChild key="taskSpace">
<armarx::armem::arondto::TSTrajectory />
</ObjectChild>
<ObjectChild key="jointSpace">
<armarx::armem::arondto::JSTrajectory />
</ObjectChild>
</Object>
</GenerateTypes>
</AronTypeDefinition>
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment