Skip to content
Snippets Groups Projects

Compare revisions

Changes are shown as if the source revision was being merged into the target revision. Learn more about comparing revisions.

Source

Select target project
No results found

Target

Select target project
  • sw/armarx/armarx-simulation
1 result
Show changes
Showing
with 672 additions and 395 deletions
......@@ -18,6 +18,15 @@
# ArmarX.ApplicationName = ""
# ArmarX.AutodiscoverPackages: If enabled, will discover all ArmarX packages based on the environment variables. Otherwise, the `DefaultPackages` and `AdditionalPackages` properties are used.
# Attributes:
# - Default: true
# - Case sensitivity: yes
# - Required: no
# - Possible values: {0, 1, false, no, true, yes}
# ArmarX.AutodiscoverPackages = true
# ArmarX.CachePath: Path for cache files. If relative path AND env. variable ARMARX_CONFIG_DIR is set, the cache path will be made relative to ARMARX_CONFIG_DIR. Otherwise if relative it will be relative to the default ArmarX config dir (${ARMARX_WORKSPACE}/armarx_config)
# Attributes:
# - Default: mongo/.cache
......@@ -216,6 +225,22 @@
# ArmarX.RobotStateMemory.mem.desc.seg.CoreSegmentName = Description
# ArmarX.RobotStateMemory.mem.ext.seg.CoreMaxHistorySize: Maximal size of the Exteroception entity histories (-1 for infinite).
# Attributes:
# - Default: -1
# - Case sensitivity: yes
# - Required: no
# ArmarX.RobotStateMemory.mem.ext.seg.CoreMaxHistorySize = -1
# ArmarX.RobotStateMemory.mem.ext.seg.CoreSegmentName: Name of the Exteroception core segment.
# Attributes:
# - Default: Exteroception
# - Case sensitivity: yes
# - Required: no
# ArmarX.RobotStateMemory.mem.ext.seg.CoreSegmentName = Exteroception
# ArmarX.RobotStateMemory.mem.loc.seg.CoreMaxHistorySize: Maximal size of the Localization entity histories (-1 for infinite).
# Attributes:
# - Default: 1024
......@@ -234,10 +259,10 @@
# ArmarX.RobotStateMemory.mem.ltm.configuration:
# Attributes:
# - Default: {}
# - Default: {"SnapshotFrequencyFilter": { "WaitingTimeInMs": 1000}, "PngConverter": {}}
# - Case sensitivity: yes
# - Required: no
# ArmarX.RobotStateMemory.mem.ltm.configuration = {}
# ArmarX.RobotStateMemory.mem.ltm.configuration = {"SnapshotFrequencyFilter": { "WaitingTimeInMs": 1000}, "PngConverter": {}}
# ArmarX.RobotStateMemory.mem.ltm.enabled:
......@@ -274,6 +299,32 @@
# ArmarX.RobotStateMemory.mem.visu.enabled = true
# ArmarX.RobotStateMemory.mem.visu.forceTorque.enabled: Enable or disable visualization of force torque sensors.
# Attributes:
# - Default: true
# - Case sensitivity: yes
# - Required: no
# - Possible values: {0, 1, false, no, true, yes}
# ArmarX.RobotStateMemory.mem.visu.forceTorque.enabled = true
# ArmarX.RobotStateMemory.mem.visu.forceTorque.forceScale: Scaling of force arrows.
# Attributes:
# - Default: 1
# - Case sensitivity: yes
# - Required: no
# ArmarX.RobotStateMemory.mem.visu.forceTorque.forceScale = 1
# ArmarX.RobotStateMemory.mem.visu.framesEnabled: Enable or disable visualization of frames.
# Attributes:
# - Default: false
# - Case sensitivity: yes
# - Required: no
# - Possible values: {0, 1, false, no, true, yes}
# ArmarX.RobotStateMemory.mem.visu.framesEnabled = false
# ArmarX.RobotStateMemory.mem.visu.frequenzyHz: Frequency of visualization.
# Attributes:
# - Default: 25
......@@ -300,6 +351,14 @@
# ArmarX.RobotStateMemory.mns.MemoryNameSystemName = MemoryNameSystem
# ArmarX.RobotStateMemory.prediction.TimeWindow: Duration of time window into the past to use for predictions when requested via the PredictingMemoryInterface (in seconds).
# Attributes:
# - Default: 2
# - Case sensitivity: yes
# - Required: no
# ArmarX.RobotStateMemory.prediction.TimeWindow = 2
# ArmarX.SecondsStartupDelay: The startup will be delayed by this number of seconds (useful for debugging)
# Attributes:
# - Default: 0
......
......@@ -18,6 +18,15 @@
# ArmarX.ApplicationName = ""
# ArmarX.AutodiscoverPackages: If enabled, will discover all ArmarX packages based on the environment variables. Otherwise, the `DefaultPackages` and `AdditionalPackages` properties are used.
# Attributes:
# - Default: true
# - Case sensitivity: yes
# - Required: no
# - Possible values: {0, 1, false, no, true, yes}
# ArmarX.AutodiscoverPackages = true
# ArmarX.CachePath: Path for cache files. If relative path AND env. variable ARMARX_CONFIG_DIR is set, the cache path will be made relative to ARMARX_CONFIG_DIR. Otherwise if relative it will be relative to the default ArmarX config dir (${ARMARX_WORKSPACE}/armarx_config)
# Attributes:
# - Default: mongo/.cache
......
......@@ -18,6 +18,15 @@
# ArmarX.ApplicationName = ""
# ArmarX.AutodiscoverPackages: If enabled, will discover all ArmarX packages based on the environment variables. Otherwise, the `DefaultPackages` and `AdditionalPackages` properties are used.
# Attributes:
# - Default: true
# - Case sensitivity: yes
# - Required: no
# - Possible values: {0, 1, false, no, true, yes}
# ArmarX.AutodiscoverPackages = true
# ArmarX.CachePath: Path for cache files. If relative path AND env. variable ARMARX_CONFIG_DIR is set, the cache path will be made relative to ARMARX_CONFIG_DIR. Otherwise if relative it will be relative to the default ArmarX config dir (${ARMARX_WORKSPACE}/armarx_config)
# Attributes:
# - Default: mongo/.cache
......@@ -167,14 +176,6 @@
# ArmarX.SelfLocalizationDynamicSimulation.armem.update_frequency = 1000
# ArmarX.SelfLocalizationDynamicSimulation.cmp.LocalizationUnit: Ice object name of the `LocalizationUnit` component.
# Attributes:
# - Default: LocalizationUnit
# - Case sensitivity: yes
# - Required: no
# ArmarX.SelfLocalizationDynamicSimulation.cmp.LocalizationUnit = LocalizationUnit
# ArmarX.SelfLocalizationDynamicSimulation.cmp.Simulator: Ice object name of the `Simulator` component.
# Attributes:
# - Default: Simulator
......@@ -199,6 +200,23 @@
ArmarX.SelfLocalizationDynamicSimulation.inheritFrom = RobotConfig
# ArmarX.SelfLocalizationDynamicSimulation.localizationUnit.proxyName: If enabled, connects to the localization unit
# Attributes:
# - Default: LocalizationUnit
# - Case sensitivity: yes
# - Required: no
# ArmarX.SelfLocalizationDynamicSimulation.localizationUnit.proxyName = LocalizationUnit
# ArmarX.SelfLocalizationDynamicSimulation.localizationUnit.use: If enabled, connects to the localization unit
# Attributes:
# - Default: true
# - Case sensitivity: yes
# - Required: no
# - Possible values: {0, 1, false, no, true, yes}
ArmarX.SelfLocalizationDynamicSimulation.localizationUnit.use = false
# ArmarX.SelfLocalizationDynamicSimulation.longterm_memory: Which legacy long-term memory to use if longterm_memory.updateor longterm_memory.retrieve_initial_pose are set
# Attributes:
# - Default: LongtermMemory
......@@ -315,14 +333,6 @@ ArmarX.SelfLocalizationDynamicSimulation.longterm_memory.update = false
# ArmarX.SelfLocalizationDynamicSimulation.tpc.pub.LaserScannerSelfLocalisation = LaserScannerSelfLocalisation
# ArmarX.SelfLocalizationDynamicSimulation.tpc.pub.PlatformUnit: Name of the `PlatformUnit` topic to publish data to.
# Attributes:
# - Default: PlatformUnit
# - Case sensitivity: yes
# - Required: no
# ArmarX.SelfLocalizationDynamicSimulation.tpc.pub.PlatformUnit = PlatformUnit
# ArmarX.SelfLocalizationDynamicSimulation.working_memory.update: If enabled, updates the global pose in the working memory
# Attributes:
# - Default: true
......
......@@ -18,6 +18,15 @@
# ArmarX.ApplicationName = ""
# ArmarX.AutodiscoverPackages: If enabled, will discover all ArmarX packages based on the environment variables. Otherwise, the `DefaultPackages` and `AdditionalPackages` properties are used.
# Attributes:
# - Default: true
# - Case sensitivity: yes
# - Required: no
# - Possible values: {0, 1, false, no, true, yes}
# ArmarX.AutodiscoverPackages = true
# ArmarX.CachePath: Path for cache files. If relative path AND env. variable ARMARX_CONFIG_DIR is set, the cache path will be made relative to ARMARX_CONFIG_DIR. Otherwise if relative it will be relative to the default ArmarX config dir (${ARMARX_WORKSPACE}/armarx_config)
# Attributes:
# - Default: mongo/.cache
......@@ -167,6 +176,23 @@
# ArmarX.SimulationObjectPoseProvider.cmp.Simulator = Simulator
# ArmarX.SimulationObjectPoseProvider.p.initiallyRequestedEntities: All entities (comma separated) that should be requested from the beginning (e.g. 'Kitchen/multivitamin-juice/0'). If you want an entity to be localized for n seconds append ':n'. If you want to see all active entities, set the component to DEBUG.
# Attributes:
# - Default: ""
# - Case sensitivity: yes
# - Required: no
ArmarX.SimulationObjectPoseProvider.p.initiallyRequestedEntities = "Kitchen/green-cup/0"
# ArmarX.SimulationObjectPoseProvider.p.requestAllEntities: True if all entities should be requested all the time.
# Attributes:
# - Default: false
# - Case sensitivity: yes
# - Required: no
# - Possible values: {0, 1, false, no, true, yes}
# ArmarX.SimulationObjectPoseProvider.p.requestAllEntities = false
# ArmarX.StartDebuggerOnCrash: If this application crashes (segmentation fault) qtcreator will attach to this process and start the debugger.
# Attributes:
# - Default: false
......
......@@ -18,6 +18,15 @@
# ArmarX.ApplicationName = ""
# ArmarX.AutodiscoverPackages: If enabled, will discover all ArmarX packages based on the environment variables. Otherwise, the `DefaultPackages` and `AdditionalPackages` properties are used.
# Attributes:
# - Default: true
# - Case sensitivity: yes
# - Required: no
# - Possible values: {0, 1, false, no, true, yes}
# ArmarX.AutodiscoverPackages = true
# ArmarX.CachePath: Path for cache files. If relative path AND env. variable ARMARX_CONFIG_DIR is set, the cache path will be made relative to ARMARX_CONFIG_DIR. Otherwise if relative it will be relative to the default ArmarX config dir (${ARMARX_WORKSPACE}/armarx_config)
# Attributes:
# - Default: mongo/.cache
......@@ -289,7 +298,7 @@ ArmarX.Simulator.InitialRobotPose.roll = 0
# - Default: 0
# - Case sensitivity: yes
# - Required: no
ArmarX.Simulator.InitialRobotPose.x = 3600
ArmarX.Simulator.InitialRobotPose.x = 1600
# ArmarX.Simulator.InitialRobotPose.x_0: x component of initial robot position (mm)
......@@ -297,7 +306,7 @@ ArmarX.Simulator.InitialRobotPose.x = 3600
# - Default: 0
# - Case sensitivity: yes
# - Required: no
ArmarX.Simulator.InitialRobotPose.x_0 = 3500
ArmarX.Simulator.InitialRobotPose.x_0 = 1900
# ArmarX.Simulator.InitialRobotPose.x_1: x component of initial robot position (mm)
......@@ -321,7 +330,7 @@ ArmarX.Simulator.InitialRobotPose.x_0 = 3500
# - Default: 0
# - Case sensitivity: yes
# - Required: no
ArmarX.Simulator.InitialRobotPose.y = 7100
ArmarX.Simulator.InitialRobotPose.y = 500
# ArmarX.Simulator.InitialRobotPose.y_0: y component of initial robot position (mm)
......@@ -353,7 +362,7 @@ ArmarX.Simulator.InitialRobotPose.y_0 = 6000
# - Default: 0
# - Case sensitivity: yes
# - Required: no
ArmarX.Simulator.InitialRobotPose.yaw = -1.57
ArmarX.Simulator.InitialRobotPose.yaw = 0.7
# ArmarX.Simulator.InitialRobotPose.yaw_0: Initial robot pose: yaw component of RPY angles (radian)
......@@ -875,7 +884,7 @@ ArmarX.Simulator.RobotSelfCollisions_0 = 1
# - Default: ""
# - Case sensitivity: yes
# - Required: no
ArmarX.Simulator.Scene.Path = PriorKnowledgeData/scenes/ARMAR-III-kitchen.json
ArmarX.Simulator.Scene.Path = PriorKnowledgeData/scenes/kitchen/kitchen-empty.json; PriorKnowledgeData/scenes/kitchen/objects.json
# ArmarX.Simulator.SimoxSceneFileName: Simox/VirtualRobot scene file name, e.g. myScene.xml
......
......@@ -18,6 +18,15 @@
# ArmarX.ApplicationName = ""
# ArmarX.AutodiscoverPackages: If enabled, will discover all ArmarX packages based on the environment variables. Otherwise, the `DefaultPackages` and `AdditionalPackages` properties are used.
# Attributes:
# - Default: true
# - Case sensitivity: yes
# - Required: no
# - Possible values: {0, 1, false, no, true, yes}
# ArmarX.AutodiscoverPackages = true
# ArmarX.CachePath: Path for cache files. If relative path AND env. variable ARMARX_CONFIG_DIR is set, the cache path will be made relative to ARMARX_CONFIG_DIR. Otherwise if relative it will be relative to the default ArmarX config dir (${ARMARX_WORKSPACE}/armarx_config)
# Attributes:
# - Default: mongo/.cache
......@@ -159,12 +168,21 @@
# ArmarX.SimulatorToArviz.ObjectName = ""
# ArmarX.SimulatorToArviz.PriorKnowledgeName: Prior knowledge name
# ArmarX.SimulatorToArviz.p.oldPriorKnowledge.name:
# Attributes:
# - Default: PriorKnowledge
# - Case sensitivity: yes
# - Required: no
# ArmarX.SimulatorToArviz.PriorKnowledgeName = PriorKnowledge
# ArmarX.SimulatorToArviz.p.oldPriorKnowledge.name = PriorKnowledge
# ArmarX.SimulatorToArviz.p.oldPriorKnowledge.use:
# Attributes:
# - Default: false
# - Case sensitivity: yes
# - Required: no
# - Possible values: {0, 1, false, no, true, yes}
# ArmarX.SimulatorToArviz.p.oldPriorKnowledge.use = false
# ArmarX.StartDebuggerOnCrash: If this application crashes (segmentation fault) qtcreator will attach to this process and start the debugger.
......
......@@ -18,6 +18,15 @@
# ArmarX.ApplicationName = ""
# ArmarX.AutodiscoverPackages: If enabled, will discover all ArmarX packages based on the environment variables. Otherwise, the `DefaultPackages` and `AdditionalPackages` properties are used.
# Attributes:
# - Default: true
# - Case sensitivity: yes
# - Required: no
# - Possible values: {0, 1, false, no, true, yes}
# ArmarX.AutodiscoverPackages = true
# ArmarX.CachePath: Path for cache files. If relative path AND env. variable ARMARX_CONFIG_DIR is set, the cache path will be made relative to ARMARX_CONFIG_DIR. Otherwise if relative it will be relative to the default ArmarX config dir (${ARMARX_WORKSPACE}/armarx_config)
# Attributes:
# - Default: mongo/.cache
......@@ -220,7 +229,7 @@ ArmarX.SimulatorViewer_SimulationWindow.Camera.roll = 1.19
# - Default: 0
# - Case sensitivity: yes
# - Required: no
ArmarX.SimulatorViewer_SimulationWindow.Camera.x = 7190
ArmarX.SimulatorViewer_SimulationWindow.Camera.x = 0
# ArmarX.SimulatorViewer_SimulationWindow.Camera.y: y component of initial camera position (mm)
......@@ -228,7 +237,7 @@ ArmarX.SimulatorViewer_SimulationWindow.Camera.x = 7190
# - Default: 0
# - Case sensitivity: yes
# - Required: no
ArmarX.SimulatorViewer_SimulationWindow.Camera.y = 4450
ArmarX.SimulatorViewer_SimulationWindow.Camera.y = 3000
# ArmarX.SimulatorViewer_SimulationWindow.Camera.yaw: Initial camera pose: yaw component of RPY angles (radian)
......@@ -236,7 +245,7 @@ ArmarX.SimulatorViewer_SimulationWindow.Camera.y = 4450
# - Default: 0
# - Case sensitivity: yes
# - Required: no
ArmarX.SimulatorViewer_SimulationWindow.Camera.yaw = 0.87
ArmarX.SimulatorViewer_SimulationWindow.Camera.yaw = -2.5
# ArmarX.SimulatorViewer_SimulationWindow.Camera.z: z component of initial camera position (mm)
......@@ -244,7 +253,7 @@ ArmarX.SimulatorViewer_SimulationWindow.Camera.yaw = 0.87
# - Default: 0
# - Case sensitivity: yes
# - Required: no
ArmarX.SimulatorViewer_SimulationWindow.Camera.z = 2380
ArmarX.SimulatorViewer_SimulationWindow.Camera.z = 2000
# ArmarX.SimulatorViewer_SimulationWindow.EnableProfiling: enable profiler which is used for logging performance events
......
......@@ -18,6 +18,15 @@
# ArmarX.ApplicationName = ""
# ArmarX.AutodiscoverPackages: If enabled, will discover all ArmarX packages based on the environment variables. Otherwise, the `DefaultPackages` and `AdditionalPackages` properties are used.
# Attributes:
# - Default: true
# - Case sensitivity: yes
# - Required: no
# - Possible values: {0, 1, false, no, true, yes}
# ArmarX.AutodiscoverPackages = true
# ArmarX.CachePath: Path for cache files. If relative path AND env. variable ARMARX_CONFIG_DIR is set, the cache path will be made relative to ARMARX_CONFIG_DIR. Otherwise if relative it will be relative to the default ArmarX config dir (${ARMARX_WORKSPACE}/armarx_config)
# Attributes:
# - Default: mongo/.cache
......@@ -167,21 +176,12 @@
# ArmarX.SkillMemory.mem.MemoryName = Skill
# ArmarX.SkillMemory.mem.ltm..buffer.storeFreq: Frequency to store the buffer to the LTM in Hz.
# ArmarX.SkillMemory.mem.ltm.configuration:
# Attributes:
# - Default: 10
# - Default: {"SnapshotFrequencyFilter": { "WaitingTimeInMs": 1000}, "PngConverter": {}}
# - Case sensitivity: yes
# - Required: no
# ArmarX.SkillMemory.mem.ltm..buffer.storeFreq = 10
# ArmarX.SkillMemory.mem.ltm.depthImageExtractor.Enabled:
# Attributes:
# - Default: true
# - Case sensitivity: yes
# - Required: no
# - Possible values: {0, 1, false, no, true, yes}
# ArmarX.SkillMemory.mem.ltm.depthImageExtractor.Enabled = true
# ArmarX.SkillMemory.mem.ltm.configuration = {"SnapshotFrequencyFilter": { "WaitingTimeInMs": 1000}, "PngConverter": {}}
# ArmarX.SkillMemory.mem.ltm.enabled:
......@@ -193,100 +193,6 @@
# ArmarX.SkillMemory.mem.ltm.enabled = false
# ArmarX.SkillMemory.mem.ltm.exrConverter.Enabled:
# Attributes:
# - Default: true
# - Case sensitivity: yes
# - Required: no
# - Possible values: {0, 1, false, no, true, yes}
# ArmarX.SkillMemory.mem.ltm.exrConverter.Enabled = true
# ArmarX.SkillMemory.mem.ltm.imageExtractor.Enabled:
# Attributes:
# - Default: true
# - Case sensitivity: yes
# - Required: no
# - Possible values: {0, 1, false, no, true, yes}
# ArmarX.SkillMemory.mem.ltm.imageExtractor.Enabled = true
# ArmarX.SkillMemory.mem.ltm.memFreqFilter.Enabled:
# Attributes:
# - Default: false
# - Case sensitivity: yes
# - Required: no
# - Possible values: {0, 1, false, no, true, yes}
# ArmarX.SkillMemory.mem.ltm.memFreqFilter.Enabled = false
# ArmarX.SkillMemory.mem.ltm.memFreqFilter.WaitingTime: Waiting time in MS after each LTM update.
# Attributes:
# - Default: -1
# - Case sensitivity: yes
# - Required: no
# ArmarX.SkillMemory.mem.ltm.memFreqFilter.WaitingTime = -1
# ArmarX.SkillMemory.mem.ltm.pngConverter.Enabled:
# Attributes:
# - Default: true
# - Case sensitivity: yes
# - Required: no
# - Possible values: {0, 1, false, no, true, yes}
# ArmarX.SkillMemory.mem.ltm.pngConverter.Enabled = true
# ArmarX.SkillMemory.mem.ltm.sizeToCompressDataInMegaBytes: The size in MB to compress away the current export. Exports are numbered (lower number means newer).
# Attributes:
# - Default: 1024
# - Case sensitivity: yes
# - Required: no
# ArmarX.SkillMemory.mem.ltm.sizeToCompressDataInMegaBytes = 1024
# ArmarX.SkillMemory.mem.ltm.snapEqFilter.Enabled:
# Attributes:
# - Default: false
# - Case sensitivity: yes
# - Required: no
# - Possible values: {0, 1, false, no, true, yes}
# ArmarX.SkillMemory.mem.ltm.snapEqFilter.Enabled = false
# ArmarX.SkillMemory.mem.ltm.snapEqFilter.MaxWaitingTime: Max Waiting time in MS after each Entity update.
# Attributes:
# - Default: -1
# - Case sensitivity: yes
# - Required: no
# ArmarX.SkillMemory.mem.ltm.snapEqFilter.MaxWaitingTime = -1
# ArmarX.SkillMemory.mem.ltm.snapFreqFilter.Enabled:
# Attributes:
# - Default: false
# - Case sensitivity: yes
# - Required: no
# - Possible values: {0, 1, false, no, true, yes}
# ArmarX.SkillMemory.mem.ltm.snapFreqFilter.Enabled = false
# ArmarX.SkillMemory.mem.ltm.snapFreqFilter.WaitingTime: Waiting time in MS after each Entity update.
# Attributes:
# - Default: -1
# - Case sensitivity: yes
# - Required: no
# ArmarX.SkillMemory.mem.ltm.snapFreqFilter.WaitingTime = -1
# ArmarX.SkillMemory.mem.ltm.storagepath: The path to the memory storage (the memory will be stored in a seperate subfolder).
# Attributes:
# - Default: Default value not mapped.
# - Case sensitivity: yes
# - Required: no
# ArmarX.SkillMemory.mem.ltm.storagepath = Default value not mapped.
# ArmarX.SkillMemory.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:
......
......@@ -18,6 +18,15 @@
# ArmarX.ApplicationName = ""
# ArmarX.AutodiscoverPackages: If enabled, will discover all ArmarX packages based on the environment variables. Otherwise, the `DefaultPackages` and `AdditionalPackages` properties are used.
# Attributes:
# - Default: true
# - Case sensitivity: yes
# - Required: no
# - Possible values: {0, 1, false, no, true, yes}
# ArmarX.AutodiscoverPackages = true
# ArmarX.CachePath: Path for cache files. If relative path AND env. variable ARMARX_CONFIG_DIR is set, the cache path will be made relative to ARMARX_CONFIG_DIR. Otherwise if relative it will be relative to the default ArmarX config dir (${ARMARX_WORKSPACE}/armarx_config)
# Attributes:
# - Default: mongo/.cache
......
......@@ -18,6 +18,15 @@
# ArmarX.ApplicationName = ""
# ArmarX.AutodiscoverPackages: If enabled, will discover all ArmarX packages based on the environment variables. Otherwise, the `DefaultPackages` and `AdditionalPackages` properties are used.
# Attributes:
# - Default: true
# - Case sensitivity: yes
# - Required: no
# - Possible values: {0, 1, false, no, true, yes}
# ArmarX.AutodiscoverPackages = true
# ArmarX.CachePath: Path for cache files. If relative path AND env. variable ARMARX_CONFIG_DIR is set, the cache path will be made relative to ARMARX_CONFIG_DIR. Otherwise if relative it will be relative to the default ArmarX config dir (${ARMARX_WORKSPACE}/armarx_config)
# Attributes:
# - Default: mongo/.cache
......
......@@ -18,6 +18,15 @@
# ArmarX.ApplicationName = ""
# ArmarX.AutodiscoverPackages: If enabled, will discover all ArmarX packages based on the environment variables. Otherwise, the `DefaultPackages` and `AdditionalPackages` properties are used.
# Attributes:
# - Default: true
# - Case sensitivity: yes
# - Required: no
# - Possible values: {0, 1, false, no, true, yes}
# ArmarX.AutodiscoverPackages = true
# ArmarX.CachePath: Path for cache files. If relative path AND env. variable ARMARX_CONFIG_DIR is set, the cache path will be made relative to ARMARX_CONFIG_DIR. Otherwise if relative it will be relative to the default ArmarX config dir (${ARMARX_WORKSPACE}/armarx_config)
# Attributes:
# - Default: mongo/.cache
......
......@@ -18,6 +18,15 @@
# ArmarX.ApplicationName = ""
# ArmarX.AutodiscoverPackages: If enabled, will discover all ArmarX packages based on the environment variables. Otherwise, the `DefaultPackages` and `AdditionalPackages` properties are used.
# Attributes:
# - Default: true
# - Case sensitivity: yes
# - Required: no
# - Possible values: {0, 1, false, no, true, yes}
# ArmarX.AutodiscoverPackages = true
# ArmarX.CachePath: Path for cache files. If relative path AND env. variable ARMARX_CONFIG_DIR is set, the cache path will be made relative to ARMARX_CONFIG_DIR. Otherwise if relative it will be relative to the default ArmarX config dir (${ARMARX_WORKSPACE}/armarx_config)
# Attributes:
# - Default: mongo/.cache
......@@ -212,10 +221,10 @@
# ArmarX.VisionMemory.mem.ltm.configuration:
# Attributes:
# - Default: {}
# - Default: {"SnapshotFrequencyFilter": { "WaitingTimeInMs": 1000}, "PngConverter": {}}
# - Case sensitivity: yes
# - Required: no
# ArmarX.VisionMemory.mem.ltm.configuration = {}
# ArmarX.VisionMemory.mem.ltm.configuration = {"SnapshotFrequencyFilter": { "WaitingTimeInMs": 1000}, "PngConverter": {}}
# ArmarX.VisionMemory.mem.ltm.enabled:
......@@ -253,6 +262,70 @@
# ArmarX.VisionMemory.occupancyGridMaxHistorySize = 20
# ArmarX.VisionMemory.pcxyz.seg.CoreMaxHistorySize: Maximal size of the PointCloudXYZ entity histories (-1 for infinite).
# Attributes:
# - Default: 20
# - Case sensitivity: yes
# - Required: no
# ArmarX.VisionMemory.pcxyz.seg.CoreMaxHistorySize = 20
# ArmarX.VisionMemory.pcxyz.seg.CoreSegmentName: Name of the PointCloudXYZ core segment.
# Attributes:
# - Default: PointCloudXYZ
# - Case sensitivity: yes
# - Required: no
# ArmarX.VisionMemory.pcxyz.seg.CoreSegmentName = PointCloudXYZ
# ArmarX.VisionMemory.pcxyzl.seg.CoreMaxHistorySize: Maximal size of the PointCloudXYZL entity histories (-1 for infinite).
# Attributes:
# - Default: 20
# - Case sensitivity: yes
# - Required: no
# ArmarX.VisionMemory.pcxyzl.seg.CoreMaxHistorySize = 20
# ArmarX.VisionMemory.pcxyzl.seg.CoreSegmentName: Name of the PointCloudXYZL core segment.
# Attributes:
# - Default: PointCloudXYZL
# - Case sensitivity: yes
# - Required: no
# ArmarX.VisionMemory.pcxyzl.seg.CoreSegmentName = PointCloudXYZL
# ArmarX.VisionMemory.pcxyzrgba.seg.CoreMaxHistorySize: Maximal size of the PointCloudXYZRGBA entity histories (-1 for infinite).
# Attributes:
# - Default: 20
# - Case sensitivity: yes
# - Required: no
# ArmarX.VisionMemory.pcxyzrgba.seg.CoreMaxHistorySize = 20
# ArmarX.VisionMemory.pcxyzrgba.seg.CoreSegmentName: Name of the PointCloudXYZRGBA core segment.
# Attributes:
# - Default: PointCloudXYZRGBA
# - Case sensitivity: yes
# - Required: no
# ArmarX.VisionMemory.pcxyzrgba.seg.CoreSegmentName = PointCloudXYZRGBA
# ArmarX.VisionMemory.pcxyzrgbl.seg.CoreMaxHistorySize: Maximal size of the PointCloudXYZRGBL entity histories (-1 for infinite).
# Attributes:
# - Default: 20
# - Case sensitivity: yes
# - Required: no
# ArmarX.VisionMemory.pcxyzrgbl.seg.CoreMaxHistorySize = 20
# ArmarX.VisionMemory.pcxyzrgbl.seg.CoreSegmentName: Name of the PointCloudXYZRGBL core segment.
# Attributes:
# - Default: PointCloudXYZRGBL
# - Case sensitivity: yes
# - Required: no
# ArmarX.VisionMemory.pcxyzrgbl.seg.CoreSegmentName = PointCloudXYZRGBL
# ArmarX.VisionMemory.pointCloudMaxHistorySize:
# Attributes:
# - Default: 20
......
......@@ -18,6 +18,15 @@
# MemoryX.ApplicationName = ""
# MemoryX.AutodiscoverPackages: If enabled, will discover all ArmarX packages based on the environment variables. Otherwise, the `DefaultPackages` and `AdditionalPackages` properties are used.
# Attributes:
# - Default: true
# - Case sensitivity: yes
# - Required: no
# - Possible values: {0, 1, false, no, true, yes}
# MemoryX.AutodiscoverPackages = true
# MemoryX.CachePath: Path for cache files. If relative path AND env. variable ARMARX_CONFIG_DIR is set, the cache path will be made relative to ARMARX_CONFIG_DIR. Otherwise if relative it will be relative to the default ArmarX config dir (${ARMARX_WORKSPACE}/armarx_config)
# Attributes:
# - Default: mongo/.cache
......
......@@ -18,6 +18,15 @@
# ArmarX.ApplicationName = ""
# ArmarX.AutodiscoverPackages: If enabled, will discover all ArmarX packages based on the environment variables. Otherwise, the `DefaultPackages` and `AdditionalPackages` properties are used.
# Attributes:
# - Default: true
# - Case sensitivity: yes
# - Required: no
# - Possible values: {0, 1, false, no, true, yes}
# ArmarX.AutodiscoverPackages = true
# ArmarX.CachePath: Path for cache files. If relative path AND env. variable ARMARX_CONFIG_DIR is set, the cache path will be made relative to ARMARX_CONFIG_DIR. Otherwise if relative it will be relative to the default ArmarX config dir (${ARMARX_WORKSPACE}/armarx_config)
# Attributes:
# - Default: mongo/.cache
......
......@@ -18,6 +18,15 @@
# ArmarX.ApplicationName = ""
# ArmarX.AutodiscoverPackages: If enabled, will discover all ArmarX packages based on the environment variables. Otherwise, the `DefaultPackages` and `AdditionalPackages` properties are used.
# Attributes:
# - Default: true
# - Case sensitivity: yes
# - Required: no
# - Possible values: {0, 1, false, no, true, yes}
# ArmarX.AutodiscoverPackages = true
# ArmarX.CachePath: Path for cache files. If relative path AND env. variable ARMARX_CONFIG_DIR is set, the cache path will be made relative to ARMARX_CONFIG_DIR. Otherwise if relative it will be relative to the default ArmarX config dir (${ARMARX_WORKSPACE}/armarx_config)
# Attributes:
# - Default: mongo/.cache
......
......@@ -240,7 +240,7 @@ namespace armarx
auto l = getScopedLock();
floorVisu->removeAllChildren();
SoNode* n = (SoNode*)CoinVisualizationFactory::CreatePlaneVisualization(
floorPos, floorUp, floorExtendMM, 0.0f, true, 0.5f, 0.5f, 0.5f, floorTexture);
floorPos, floorUp, floorExtendMM, true, CoinVisualizationFactory::Color::Gray(), floorTexture);
if (n)
{
ARMARX_TRACE;
......@@ -644,6 +644,10 @@ namespace armarx
}
ARMARX_TRACE;
// Run forward kinematics, including propagating joint values.
const bool updateChildren = true;
currentObjVisu->updatePose(updateChildren);
// never use this data again
robotDef.updated = false;
}
......@@ -924,6 +928,7 @@ namespace armarx
// ensure consistent names
ARMARX_DEBUG << "Setting up newly loaded robot";
result->setName(robotName);
result->setPropagatingJointValuesEnabled(true);
ARMARX_DEBUG << "adding newly loaded robot to visualization";
VirtualRobot::SceneObject::VisualizationType visuMode = modelType;
if (colModel)
......
......@@ -35,8 +35,8 @@
#include <ArmarXCore/core/PackagePath.h>
#include <ArmarXCore/core/system/ArmarXDataPath.h>
#include <RobotAPI/libraries/core/Pose.h>
#include <RobotAPI/libraries/core/Pose.h>
namespace armarx
{
......@@ -47,9 +47,6 @@ namespace armarx
armarx::PropertyDefinitionsPtr defs =
new ComponentPropertyDefinitions(getConfigIdentifier());
articulatedObjectWriter->registerPropertyDefinitions(defs);
articulatedObjectReader->registerPropertyDefinitions(defs);
defs->component(simulator);
defs->optional(p.cycleTime, "cycleTime");
......@@ -59,27 +56,20 @@ namespace armarx
return defs;
}
ArticulatedObjectLocalizerDynamicSimulation::ArticulatedObjectLocalizerDynamicSimulation() :
articulatedObjectWriter(
new ::armarx::armem::articulated_object::Writer(memoryNameSystem())),
articulatedObjectReader(new ::armarx::armem::articulated_object::Reader(memoryNameSystem()))
ArticulatedObjectLocalizerDynamicSimulation::ArticulatedObjectLocalizerDynamicSimulation()
{
addPlugin(articulatedObjectWriterPlugin);
addPlugin(articulatedObjectReaderPlugin);
}
void
ArticulatedObjectLocalizerDynamicSimulation::onInitComponent()
{
}
void
ArticulatedObjectLocalizerDynamicSimulation::onConnectComponent()
{
articulatedObjectWriter->connect();
articulatedObjectReader->connect();
setupObjects();
ARMARX_INFO << "Starting `localizeArticulatedObjects` task";
......@@ -103,20 +93,17 @@ namespace armarx
taskUpdateObjects->setDelayWarningTolerance(100);
}
void
ArticulatedObjectLocalizerDynamicSimulation::onDisconnectComponent()
{
task->stop();
}
void
ArticulatedObjectLocalizerDynamicSimulation::onExitComponent()
{
}
std::string
ArticulatedObjectLocalizerDynamicSimulation::getDefaultName() const
{
......@@ -126,13 +113,15 @@ namespace armarx
void
ArticulatedObjectLocalizerDynamicSimulation::setupObjects()
{
const auto descriptions = articulatedObjectReader->queryDescriptions(IceUtil::Time::now());
const auto descriptions =
articulatedObjectReaderPlugin->get().queryDescriptions(armarx::DateTime::Now(), std::nullopt);
std::unordered_map<std::string, std::shared_ptr<VirtualRobot::Robot>> newKnownObjects;
// read access to shared variable "knownObjects"
std::unique_lock lck{knownObjectsMtx};
std::unordered_map<std::string, std::shared_ptr<VirtualRobot::Robot>> oldKnownObjects = knownObjects;
std::unordered_map<std::string, std::shared_ptr<VirtualRobot::Robot>> oldKnownObjects =
knownObjects;
lck.unlock();
const auto tryRegister = [&](const std::string& name)
......@@ -152,7 +141,7 @@ namespace armarx
if (splits.back() == name)
{
ARMARX_DEBUG << "Relaxed filter successful: Object description '"
<< description.name << "' matches '" << name;
<< description.name << "' matches '" << name;
return true;
}
}
......@@ -170,7 +159,7 @@ namespace armarx
ARMARX_DEBUG << "Found articulated object '" << name << "'";
// Avoid loading of already existing robots as it takes some time ...
if(oldKnownObjects.count(name) > 0)
if (oldKnownObjects.count(name) > 0)
{
newKnownObjects[name] = oldKnownObjects.at(name);
return;
......@@ -212,10 +201,15 @@ namespace armarx
{"PriorKnowledgeData"}, obj.getFilename()),
obj.getFilename())},
.instance = "", // TODO(fabian.reister):
.config = {.timestamp = timestamp,
.globalPose = Eigen::Affine3f(obj.getRootNode()->getGlobalPose()),
.jointMap = obj.getJointValues()},
.timestamp = timestamp};
.config =
{
.timestamp = timestamp,
.globalPose = Eigen::Affine3f(obj.getRootNode()->getGlobalPose()),
.jointMap = obj.getJointValues(),
.proprioception = std::nullopt,
},
.timestamp = timestamp,
};
}
void
......@@ -254,7 +248,8 @@ namespace armarx
if (not poseBase)
{
ARMARX_WARNING << deactivateSpam(10)
<< "No articulatd object pose from simulator for object " << name << " ...";
<< "No articulatd object pose from simulator for object " << name
<< " ...";
continue;
}
......@@ -264,12 +259,13 @@ namespace armarx
robot->setJointValues(jointMap);
armarx::armem::articulated_object::ArticulatedObject obj =
convert(*robot, IceUtil::Time::now());
convert(*robot, armarx::DateTime::Now());
obj.instance = "0"; // we assume that there is only one object of a type
ARMARX_DEBUG << "Publishing new state for object `" << name << "`, instance id: `" << obj.instance << "`";
ARMARX_DEBUG << "Publishing new state for object `" << name << "`, instance id: `"
<< obj.instance << "`";
articulatedObjectWriter->store(obj);
articulatedObjectWriterPlugin->get().store(obj);
}
}
......
......@@ -35,6 +35,7 @@
#include <RobotAPI/libraries/armem_objects/types.h>
#include <RobotAPI/libraries/armem_objects/client/articulated_object/Writer.h>
#include <RobotAPI/libraries/armem_objects/client/articulated_object/Reader.h>
#include <RobotAPI/libraries/armem/client/plugins/ReaderWriterPlugin.h>
#include <ArmarXSimulation/interface/simulator/SimulatorInterface.h>
......@@ -91,8 +92,15 @@ namespace armarx
// Private member variables go here.
SimulatorInterfacePrx simulator;
std::unique_ptr<::armarx::armem::articulated_object::Writer> articulatedObjectWriter;
std::unique_ptr<::armarx::armem::articulated_object::Reader> articulatedObjectReader;
template <typename T>
using ReaderWriterPlugin = armem::client::plugins::ReaderWriterPlugin<T>;
ReaderWriterPlugin<::armarx::armem::articulated_object::Writer>* articulatedObjectWriterPlugin =
nullptr;
ReaderWriterPlugin<::armarx::armem::articulated_object::Reader>* articulatedObjectReaderPlugin =
nullptr;
PeriodicTask<ArticulatedObjectLocalizerDynamicSimulation>::pointer_type task;
PeriodicTask<ArticulatedObjectLocalizerDynamicSimulation>::pointer_type taskUpdateObjects;
......
......@@ -24,79 +24,32 @@
#pragma once
#include <memory>
#include <chrono>
#include <random>
#include <memory>
#include <mutex>
#include <random>
#include <VirtualRobot/Robot.h>
#include <VirtualRobot/Visualization/CoinVisualization/CoinVisualizationFactory.h>
#include <ArmarXCore/core/Component.h>
#include <VisionX/interface/components/RGBDImageProvider.h>
#include <VisionX/core/ImageProvider.h>
#include <VisionX/components/pointcloud_core/CapturingPointCloudProvider.h>
#include <MemoryX/core/entity/ProbabilityMeasures.h>
#include <VisionX/core/ImageProvider.h>
#include <VisionX/interface/components/RGBDImageProvider.h>
#include <ArmarXSimulation/components/ArmarXPhysicsWorldVisualization/ArmarXPhysicsWorldVisualization.h>
#include <Inventor/SoOffscreenRenderer.h>
#include <VisionX/tools/TypeMapping.h>
#include <VisionX/tools/ImageUtil.h>
class SoOffscreenRenderer;
namespace armarx
{
class DepthImageProviderDynamicSimulationPropertyDefinitions:
class DepthImageProviderDynamicSimulationPropertyDefinitions :
public visionx::CapturingPointCloudProviderPropertyDefinitions
{
public:
DepthImageProviderDynamicSimulationPropertyDefinitions(std::string prefix):
visionx::CapturingPointCloudProviderPropertyDefinitions(prefix)
{
defineOptionalProperty<bool>("FloatImageMode", false, "Whether to provide a CFloatImage or the standard CByteImage");
defineOptionalProperty<float>("Noise", 0.0f, "Noise of the point cloud position results as standard deviation of the normal distribution (in mm)")
.setMin(0);
defineOptionalProperty<float>("DistanceZNear", 20.0f, "Distance of the near clipping plain. (If set too small the agent's model's inside may be visible")
.setMin(1e-8);
defineOptionalProperty<float>("DistanceZFar", 5000.0f, "Distance of the far clipping plain. (DistanceZFar-DistanceZNear should be minimal, DistanceZFar > DistanceZNear)")
.setMin(1e-8);
defineOptionalProperty<float>("FOV", M_PI / 4, "Vertical FOV in rad.");
defineOptionalProperty<float>("BaseLine", 0.075, "The value returned from getBaseline(). It has no other effect.");
defineOptionalProperty<float>("NanValue", std::nan(""), "Value of points that are farther away then DistanceZFar. Most cameras return here NaN.");
defineOptionalProperty<visionx::ImageDimension>("ImageSize", visionx::ImageDimension(640, 480), "Target resolution of the images. Captured images will be converted to this size.")
.setCaseInsensitive(true)
.map("200x200", visionx::ImageDimension(200, 200))
.map("320x240", visionx::ImageDimension(320, 240))
.map("640x480", visionx::ImageDimension(640, 480))
.map("800x600", visionx::ImageDimension(800, 600))
.map("768x576", visionx::ImageDimension(768, 576))
.map("1024x768", visionx::ImageDimension(1024, 768))
.map("1280x960", visionx::ImageDimension(1280, 960))
.map("1600x1200", visionx::ImageDimension(1600, 1200))
.map("none", visionx::ImageDimension(0, 0));
defineOptionalProperty<std::string>("RobotName", "Armar3", "The robot");
defineOptionalProperty<std::string>("RobotNodeCamera", "DepthCameraSim", "The coordinate system of the used camera");
//used to draw the cloud to the simulator
defineOptionalProperty<bool>("DrawPointCloud", false, "Whether the point cloud is drawn to the given DebugDrawerTopic");
defineOptionalProperty<std::string>("DrawPointCloud_DebugDrawerTopic", "DebugDrawerUpdates", "Name of the DebugDrawerTopic");
defineOptionalProperty<unsigned int>("DrawPointCloud_DrawDelay", 1000, "The time between updates of the drawn point cloud (in ms)");
defineOptionalProperty<float>("DrawPointCloud_PointSize", 4, "The size of a point.");
defineOptionalProperty<std::size_t>("DrawPointCloud_PointSkip", 3, "Only draw every n'th point in x and y direction (n=DrawPointCloud_PointSkip). Increase this whenever the ice buffer size is to small to transmitt the cloud size. (>0)");
defineOptionalProperty<bool>("DrawPointCloud_ClipPoints", true, "Whether to clip the point cloud drawn to the given DebugDrawerTopic");
defineOptionalProperty<float>("DrawPointCloud_ClipXHi", 25000, "Skip points with x higher than this limit.");
defineOptionalProperty<float>("DrawPointCloud_ClipYHi", 25000, "Skip points with y higher than this limit.");
defineOptionalProperty<float>("DrawPointCloud_ClipZHi", 25000, "Skip points with z higher than this limit.");
defineOptionalProperty<float>("DrawPointCloud_ClipXLo", -25000, "Skip points with x lower than this limit.");
defineOptionalProperty<float>("DrawPointCloud_ClipYLo", -25000, "Skip points with y lower than this limit.");
defineOptionalProperty<float>("DrawPointCloud_ClipZLo", -25000, "Skip points with z lower than this limit.");
}
DepthImageProviderDynamicSimulationPropertyDefinitions(std::string prefix);
};
class DepthImageProviderDynamicSimulation :
......@@ -105,117 +58,34 @@ namespace armarx
virtual public visionx::RGBDPointCloudProviderInterface
{
public:
DepthImageProviderDynamicSimulation() = default;
~DepthImageProviderDynamicSimulation() override {}
std::string getDefaultName() const override
{
return "DynamicSimulationDepthImageProvider";
}
bool hasSharedMemorySupport(const Ice::Current& c = Ice::emptyCurrent) override
{
return true;
}
visionx::StereoCalibration getStereoCalibration(const Ice::Current& c = Ice::emptyCurrent) override
{
visionx::StereoCalibration stereoCalibration;
float r = static_cast<float>(width) / static_cast<float>(height);
visionx::CameraParameters RGBCameraIntrinsics;
RGBCameraIntrinsics.distortion = {0, 0, 0, 0};
RGBCameraIntrinsics.focalLength = {static_cast<float>(width) / (2 * std::tan((vertFov * r) / 2)),
static_cast<float>(height) / (2 * std::tan(vertFov / 2))
};
RGBCameraIntrinsics.height = height;
RGBCameraIntrinsics.principalPoint = {width / 2.0f, height / 2.0f};
RGBCameraIntrinsics.rotation = visionx::tools::convertEigenMatToVisionX(Eigen::Matrix3f::Identity());
RGBCameraIntrinsics.translation = visionx::tools::convertEigenVecToVisionX(Eigen::Vector3f::Zero());
RGBCameraIntrinsics.width = width;
visionx::CameraParameters DepthCameraIntrinsics;
DepthCameraIntrinsics.distortion = {0, 0, 0, 0};
DepthCameraIntrinsics.focalLength = {static_cast<float>(width) / (2 * std::tan((vertFov * r) / 2)),
static_cast<float>(height) / (2 * std::tan(vertFov / 2))
};
DepthCameraIntrinsics.height = height;
DepthCameraIntrinsics.principalPoint = {width / 2.0f, height / 2.0f};
DepthCameraIntrinsics.rotation = visionx::tools::convertEigenMatToVisionX(Eigen::Matrix3f::Identity());
DepthCameraIntrinsics.translation = {0.075, 0, 0};
DepthCameraIntrinsics.width = width;
stereoCalibration.calibrationLeft = visionx::tools::createDefaultMonocularCalibration();
stereoCalibration.calibrationRight = visionx::tools::createDefaultMonocularCalibration();
stereoCalibration.calibrationLeft.cameraParam = RGBCameraIntrinsics;
stereoCalibration.calibrationRight.cameraParam = DepthCameraIntrinsics;
stereoCalibration.rectificationHomographyLeft = visionx::tools::convertEigenMatToVisionX(Eigen::Matrix3f::Zero());
stereoCalibration.rectificationHomographyRight = visionx::tools::convertEigenMatToVisionX(Eigen::Matrix3f::Zero());
return stereoCalibration;
}
bool getImagesAreUndistorted(const Ice::Current& c = Ice::emptyCurrent) override
{
return true;
}
std::string getReferenceFrame(const Ice::Current& c = Ice::emptyCurrent) override
{
return getProperty<std::string>("RobotNodeCamera");
}
~DepthImageProviderDynamicSimulation() override;
std::string getDefaultName() const override;
bool hasSharedMemorySupport(const Ice::Current& c = Ice::emptyCurrent) override;
visionx::StereoCalibration
getStereoCalibration(const Ice::Current& c = Ice::emptyCurrent) override;
bool getImagesAreUndistorted(const Ice::Current& c = Ice::emptyCurrent) override;
std::string getReferenceFrame(const Ice::Current& c = Ice::emptyCurrent) override;
protected:
/**
* @see visionx::PointCloudProviderBase::onInitPointCloudProvider()
*/
void onInitCapturingPointCloudProvider() override {}
/**
* @see visionx::PointCloudProviderBase::onExitPointCloudProvider()
*/
armarx::PropertyDefinitionsPtr createPropertyDefinitions() override;
void onInitCapturingPointCloudProvider() override;
void onExitCapturingPointCloudProvider() override;
/**
* @see visionx::PointCloudProviderBase::onStartCapture()
*/
void onStartCapture(float frameRate) override;
/**
* @see visionx::PointCloudProviderBase::onStopCapture()
*/
void onStopCapture() override {}
/**
* @see visionx::PointCloudProviderBase::doCapture()
*/
void onStopCapture() override;
bool doCapture() override;
/**
* @see visionx::CapturingImageProvider::onInitImageProvider()
*/
void onInitImageProvider() override;
void onDisconnectComponent() override;
/**
* @see visionx::CapturingImageProvider::onExitImageProvider()
*/
void onExitImageProvider() override {}
/**
* @see PropertyUser::createPropertyDefinitions()
*/
armarx::PropertyDefinitionsPtr createPropertyDefinitions() override
{
return new DepthImageProviderDynamicSimulationPropertyDefinitions(getConfigIdentifier());
}
void onExitImageProvider() override;
// mixed inherited stuff
void onInitComponent() override;
......@@ -223,13 +93,12 @@ namespace armarx
void onExitComponent() override;
bool render();
void syncVisu();
std::mutex captureMutex;
short width; //coin uses short here
short height;//coin uses short here
short height; //coin uses short here
float baseline;
......@@ -290,6 +159,4 @@ namespace armarx
std::int64_t sumRenderTimesSquared;
std::int32_t renderTimesCount;
};
}
} // namespace armarx