Skip to content
Snippets Groups Projects
Commit 49a6aff9 authored by Timo Weberruß's avatar Timo Weberruß
Browse files

Add TEB usage to other example client modes

parent 3047f220
No related branches found
No related tags found
2 merge requests!109Social layers,!55Draft: Implement human grouping
......@@ -189,6 +189,7 @@ namespace armarx::navigation::components::example_client
client::NavigationStackConfig()
.general({} /*{.maxVel = VelocityLimits{.linear = 400 , .angular = 0.1}}*/)
.globalPlanner(global_planning::SPFAParams())
.localPlanner(local_planning::TimedElasticBandsParams())
.trajectoryController(
traj_ctrl::local::TrajectoryFollowingControllerParams())); // FIXME
......@@ -289,6 +290,7 @@ namespace armarx::navigation::components::example_client
client::NavigationStackConfig()
.general({} /*{.maxVel = VelocityLimits{.linear = 400 , .angular = 0.1}}*/)
.globalPlanner(global_planning::SPFAParams())
.localPlanner(local_planning::TimedElasticBandsParams())
.trajectoryController(
traj_ctrl::local::TrajectoryFollowingControllerParams())); // FIXME
......@@ -366,6 +368,7 @@ namespace armarx::navigation::components::example_client
client::NavigationStackConfig()
.general({} /*{.maxVel = VelocityLimits{.linear = 400 , .angular = 0.1}}*/)
.globalPlanner(global_planning::Point2PointParams())
.localPlanner(local_planning::TimedElasticBandsParams())
.trajectoryController(
traj_ctrl::local::TrajectoryFollowingControllerParams())); // FIXME
......
......@@ -266,6 +266,30 @@
# ArmarX.dynamic_scene_provider.mem.nav.human.Provider = ""
# ArmarX.dynamic_scene_provider.mem.nav.human_group.CoreSegment:
# Attributes:
# - Default: HumanGroup
# - Case sensitivity: yes
# - Required: no
# ArmarX.dynamic_scene_provider.mem.nav.human_group.CoreSegment = HumanGroup
# ArmarX.dynamic_scene_provider.mem.nav.human_group.Memory:
# Attributes:
# - Default: Navigation
# - Case sensitivity: yes
# - Required: no
# ArmarX.dynamic_scene_provider.mem.nav.human_group.Memory = Navigation
# ArmarX.dynamic_scene_provider.mem.nav.human_group.Provider: Name of this provider
# Attributes:
# - Default: ""
# - Case sensitivity: yes
# - Required: no
# ArmarX.dynamic_scene_provider.mem.nav.human_group.Provider = ""
# ArmarX.dynamic_scene_provider.mem.robot_state.Memory:
# Attributes:
# - Default: RobotState
......
......@@ -76,179 +76,204 @@
# ArmarX.EnableProfiling = false
# ArmarX.ExampleClient.EnableProfiling: enable profiler which is used for logging performance events
# ArmarX.ExampleClient.nav.NavigatorName: No Description
# Attributes:
# - Default: false
# - Case sensitivity: yes
# - Default: navigator
# - Case sensitivity: no
# - Required: no
# - Possible values: {0, 1, false, no, true, yes}
# ArmarX.ExampleClient.EnableProfiling = false
ArmarX.ExampleClient.nav.NavigatorName = navigator
# ArmarX.ExampleClient.MinimumLoggingLevel: Local logging level only for this component
# 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: Undefined
# - Default: ""
# - Case sensitivity: yes
# - Required: no
# - Possible values: {Debug, Error, Fatal, Important, Info, Undefined, Verbose, Warning}
# ArmarX.ExampleClient.MinimumLoggingLevel = Undefined
# ArmarX.LoadLibraries = ""
# ArmarX.ExampleClient.ObjectName: Name of IceGrid well-known object
# 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.ExampleClient.ObjectName = ""
# ArmarX.LoggingGroup = ""
# ArmarX.ExampleClient.mem.robot_state.Memory:
# ArmarX.RedirectStdout: Redirect std::cout and std::cerr to ArmarXLog
# Attributes:
# - Default: RobotState
# - Default: true
# - Case sensitivity: yes
# - Required: no
# ArmarX.ExampleClient.mem.robot_state.Memory = RobotState
# - Possible values: {0, 1, false, no, true, yes}
# ArmarX.RedirectStdout = true
# ArmarX.ExampleClient.mem.robot_state.localizationSegment: Name of the localization memory core segment to use.
# 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: Localization
# - Default: 3000
# - Case sensitivity: yes
# - Required: no
# ArmarX.ExampleClient.mem.robot_state.localizationSegment = Localization
# ArmarX.RemoteHandlesDeletionTimeout = 3000
# ArmarX.ExampleClient.mns.MemoryNameSystemEnabled: Whether to use (and depend on) the Memory Name System (MNS).
# Set to false to use this memory as a stand-alone.
# ArmarX.SecondsStartupDelay: The startup will be delayed by this number of seconds (useful for debugging)
# Attributes:
# - Default: true
# - 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.ExampleClient.mns.MemoryNameSystemEnabled = true
# ArmarX.StartDebuggerOnCrash = false
# ArmarX.ExampleClient.mns.MemoryNameSystemName: Name of the Memory Name System (MNS) component.
# ArmarX.ThreadPoolSize: Size of the ArmarX ThreadPool that is always running.
# Attributes:
# - Default: MemoryNameSystem
# - Default: 1
# - Case sensitivity: yes
# - Required: no
# ArmarX.ExampleClient.mns.MemoryNameSystemName = MemoryNameSystem
# ArmarX.ThreadPoolSize = 1
# ArmarX.ExampleClient.nav.NavigatorName: Name of the Navigator
# 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: navigator
# - Default: ""
# - Case sensitivity: yes
# - Required: no
ArmarX.ExampleClient.nav.NavigatorName = navigator
# ArmarX.TopicSuffix = ""
# ArmarX.ExampleClient.relativeMovement: The distance between two target poses [mm]
# ArmarX.UseTimeServer: Enable using a global Timeserver (e.g. from ArmarXSimulator)
# Attributes:
# - Default: 200
# - Default: false
# - Case sensitivity: yes
# - Required: no
# ArmarX.ExampleClient.relativeMovement = 200
# - Possible values: {0, 1, false, no, true, yes}
# ArmarX.UseTimeServer = false
# ArmarX.ExampleClient.robotName:
# ArmarX.Verbosity: Global logging level for whole application
# Attributes:
# - Default: Armar6
# - Default: Info
# - Case sensitivity: yes
# - Required: no
# ArmarX.ExampleClient.robotName = Armar6
# - Possible values: {Debug, Error, Fatal, Important, Info, Undefined, Verbose, Warning}
# ArmarX.Verbosity = Info
# 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.example_client.EnableProfiling: enable profiler which is used for logging performance events
# Attributes:
# - Default: ""
# - Default: false
# - Case sensitivity: yes
# - Required: no
# ArmarX.LoadLibraries = ""
# - Possible values: {0, 1, false, no, true, yes}
# ArmarX.example_client.EnableProfiling = false
# ArmarX.LoggingGroup: The logging group is transmitted with every ArmarX log message over Ice in order to group the message in the GUI.
# ArmarX.example_client.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.example_client.MinimumLoggingLevel = Undefined
# ArmarX.example_client.ObjectName: Name of IceGrid well-known object
# Attributes:
# - Default: ""
# - Case sensitivity: yes
# - Required: no
# ArmarX.LoggingGroup = ""
# ArmarX.example_client.ObjectName = ""
# ArmarX.RedirectStdout: Redirect std::cout and std::cerr to ArmarXLog
# ArmarX.example_client.mem.nav.costmap.CoreSegment:
# Attributes:
# - Default: true
# - Default: Costmap
# - Case sensitivity: yes
# - Required: no
# - Possible values: {0, 1, false, no, true, yes}
# ArmarX.RedirectStdout = true
# ArmarX.example_client.mem.nav.costmap.CoreSegment = Costmap
# 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)
# ArmarX.example_client.mem.nav.costmap.Memory:
# Attributes:
# - Default: 3000
# - Default: Navigation
# - Case sensitivity: yes
# - Required: no
# ArmarX.RemoteHandlesDeletionTimeout = 3000
# ArmarX.example_client.mem.nav.costmap.Memory = Navigation
# ArmarX.SecondsStartupDelay: The startup will be delayed by this number of seconds (useful for debugging)
# ArmarX.example_client.mem.robot_state.Memory:
# Attributes:
# - Default: 0
# - Default: RobotState
# - Case sensitivity: yes
# - Required: no
# ArmarX.SecondsStartupDelay = 0
# ArmarX.example_client.mem.robot_state.Memory = RobotState
# ArmarX.StartDebuggerOnCrash: If this application crashes (segmentation fault) qtcreator will attach to this process and start the debugger.
# ArmarX.example_client.mem.robot_state.localizationSegment: Name of the localization memory core segment to use.
# Attributes:
# - Default: false
# - Default: Localization
# - Case sensitivity: yes
# - Required: no
# ArmarX.example_client.mem.robot_state.localizationSegment = Localization
# ArmarX.example_client.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.StartDebuggerOnCrash = false
# ArmarX.example_client.mns.MemoryNameSystemEnabled = true
# ArmarX.ThreadPoolSize: Size of the ArmarX ThreadPool that is always running.
# ArmarX.example_client.mns.MemoryNameSystemName: Name of the Memory Name System (MNS) component.
# Attributes:
# - Default: 1
# - Default: MemoryNameSystem
# - Case sensitivity: yes
# - Required: no
# ArmarX.ThreadPoolSize = 1
# ArmarX.example_client.mns.MemoryNameSystemName = MemoryNameSystem
# 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.
# ArmarX.example_client.mode: Which example to run
# Attributes:
# - Default: ""
# - Default: standard
# - Case sensitivity: yes
# - Required: no
# ArmarX.TopicSuffix = ""
# - Possible values: {complex, point_to_point, standard, update_navigator, wander_around}
ArmarX.example_client.mode = wander_around
# ArmarX.UseTimeServer: Enable using a global Timeserver (e.g. from ArmarXSimulator)
# ArmarX.example_client.nav.NavigatorName: Name of the Navigator
# Attributes:
# - Default: false
# - Default: navigator
# - Case sensitivity: yes
# - Required: no
# - Possible values: {0, 1, false, no, true, yes}
# ArmarX.UseTimeServer = false
# ArmarX.example_client.nav.NavigatorName = navigator
# ArmarX.Verbosity: Global logging level for whole application
# ArmarX.example_client.relativeMovement: The distance between two target poses [mm]
# Attributes:
# - Default: Info
# - Default: 200
# - Case sensitivity: yes
# - Required: no
# - Possible values: {Debug, Error, Fatal, Important, Info, Undefined, Verbose, Warning}
# ArmarX.Verbosity = Info
# ArmarX.example_client.relativeMovement = 200
# ArmarX.example_client.mode: No Description
# ArmarX.example_client.robotName:
# Attributes:
# - Default: wander_around
# - Case sensitivity: no
# - Default: Armar6
# - Case sensitivity: yes
# - Required: no
ArmarX.example_client.mode = wander_around
# ArmarX.example_client.robotName = Armar6
......@@ -2,13 +2,325 @@
# human_simulator properties
# ==================================================================
# ArmarX.human_simulator.p.nHumans:
# 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_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
# - 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
# ArmarX.human_simulator.ArVizStorageName: Name of the ArViz storage
# Attributes:
# - Default: ArVizStorage
# - Case sensitivity: yes
# - Required: no
# ArmarX.human_simulator.ArVizStorageName = ArVizStorage
# ArmarX.human_simulator.ArVizTopicName: Name of the ArViz topic
# Attributes:
# - Default: ArVizTopic
# - Case sensitivity: yes
# - Required: no
# ArmarX.human_simulator.ArVizTopicName = ArVizTopic
# ArmarX.human_simulator.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.human_simulator.EnableProfiling = false
# ArmarX.human_simulator.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.human_simulator.MinimumLoggingLevel = Undefined
# ArmarX.human_simulator.ObjectMemoryName: Name of the object memory.
# Attributes:
# - Default: ObjectMemory
# - Case sensitivity: yes
# - Required: no
# ArmarX.human_simulator.ObjectMemoryName = ObjectMemory
# ArmarX.human_simulator.ObjectName: Name of IceGrid well-known object
# Attributes:
# - Default: ""
# - Case sensitivity: yes
# - Required: no
# ArmarX.human_simulator.ObjectName = ""
# ArmarX.human_simulator.mem.nav.costmap.CoreSegment:
# Attributes:
# - Default: Costmap
# - Case sensitivity: yes
# - Required: no
# ArmarX.human_simulator.mem.nav.costmap.CoreSegment = Costmap
# ArmarX.human_simulator.mem.nav.costmap.Memory:
# Attributes:
# - Default: Navigation
# - Case sensitivity: yes
# - Required: no
# ArmarX.human_simulator.mem.nav.costmap.Memory = Navigation
# ArmarX.human_simulator.mem.nav.human.CoreSegment:
# Attributes:
# - Default: Human
# - Case sensitivity: yes
# - Required: no
# ArmarX.human_simulator.mem.nav.human.CoreSegment = Human
# ArmarX.human_simulator.mem.nav.human.Memory:
# Attributes:
# - Default: Navigation
# - Case sensitivity: yes
# - Required: no
# ArmarX.human_simulator.mem.nav.human.Memory = Navigation
# ArmarX.human_simulator.mem.nav.human.Provider: Name of this provider
# Attributes:
# - Default: ""
# - Case sensitivity: yes
# - Required: no
# ArmarX.human_simulator.mem.nav.human.Provider = ""
# ArmarX.human_simulator.mem.robot_state.Memory:
# Attributes:
# - Default: RobotState
# - Case sensitivity: yes
# - Required: no
# ArmarX.human_simulator.mem.robot_state.Memory = RobotState
# ArmarX.human_simulator.mem.robot_state.localizationSegment: Name of the localization memory core segment to use.
# Attributes:
# - Default: Localization
# - Case sensitivity: yes
# - Required: no
# ArmarX.human_simulator.mem.robot_state.localizationSegment = Localization
# ArmarX.human_simulator.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.human_simulator.mns.MemoryNameSystemEnabled = true
# ArmarX.human_simulator.mns.MemoryNameSystemName: Name of the Memory Name System (MNS) component.
# Attributes:
# - Default: MemoryNameSystem
# - Case sensitivity: yes
# - Required: no
# ArmarX.human_simulator.mns.MemoryNameSystemName = MemoryNameSystem
# ArmarX.human_simulator.p.human.goalDistanceThreshold:
# Attributes:
# - Default: 100
# - Case sensitivity: yes
# - Required: no
# ArmarX.human_simulator.p.human.goalDistanceThreshold = 100
# ArmarX.human_simulator.p.human.maxLinearVelocity:
# Attributes:
# - Default: 200
# - Case sensitivity: yes
# - Required: no
# ArmarX.human_simulator.p.human.maxLinearVelocity = 200
# ArmarX.human_simulator.p.nHumans: Number of humans to spawn.
# Attributes:
# - Default: 4
# - Case sensitivity: yes
# - Required: no
ArmarX.human_simulator.p.nHumans = 3
# ArmarX.human_simulator.p.objectPoseProviderName:
# Attributes:
# - Default: R003_grasping_challenge
# - Case sensitivity: yes
# - Required: no
# ArmarX.human_simulator.p.objectPoseProviderName = R003_grasping_challenge
# ArmarX.human_simulator.p.taskPeriodMs:
# Attributes:
# - Default: 100
# - Case sensitivity: yes
# - Required: no
ArmarX.human_simulator.p.taskPeriodMs = 100
......@@ -83,9 +83,12 @@ namespace armarx::navigation::local_planning
container.push_back(obst);
ARMARX_INFO << deactivateSpam() << "Added human obstacle";
// visualize proxemic zone if layer is available
if (visLayer != nullptr)
{
ARMARX_INFO << deactivateSpam() << "Drawing proxemic zones...";
const Eigen::Vector3f axisLength(
proxemicZone.shape.a, proxemicZone.shape.b, 10.f - i);
const core::Pose pose3d = conv::to3D(proxemicZone.pose);
......
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