diff --git a/scenarios/GraphImportExport/GraphImportExport.scx b/scenarios/GraphImportExport/GraphImportExport.scx new file mode 100644 index 0000000000000000000000000000000000000000..ffbce148ebef055ddf0e0bc66a8c1e3defbd3488 --- /dev/null +++ b/scenarios/GraphImportExport/GraphImportExport.scx @@ -0,0 +1,5 @@ +<?xml version="1.0" encoding="utf-8"?> +<scenario name="GraphImportExport" creation="2021-08-18.09:51:51" globalConfigName="./config/global.cfg" package="Navigation" deploymentType="local" nodeName="NodeMain"> + <application name="GraphImportExport" instance="" package="Navigation" nodeName="" enabled="true" iceAutoRestart="false"/> +</scenario> + diff --git a/scenarios/GraphImportExport/config/GraphImportExport.cfg b/scenarios/GraphImportExport/config/GraphImportExport.cfg new file mode 100644 index 0000000000000000000000000000000000000000..950735078791825c4ce01a001479135d2e59b1fe --- /dev/null +++ b/scenarios/GraphImportExport/config/GraphImportExport.cfg @@ -0,0 +1,254 @@ +# ================================================================== +# GraphImportExport 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.GraphImportExport.ArVizTopicName: Name of the ArViz topic +# Attributes: +# - Default: ArVizTopic +# - Case sensitivity: yes +# - Required: no +# ArmarX.GraphImportExport.ArVizTopicName = ArVizTopic + + +# ArmarX.GraphImportExport.DebugObserverTopicName: Name of the topic the DebugObserver listens on +# Attributes: +# - Default: DebugObserver +# - Case sensitivity: yes +# - Required: no +# ArmarX.GraphImportExport.DebugObserverTopicName = DebugObserver + + +# ArmarX.GraphImportExport.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.GraphImportExport.EnableProfiling = false + + +# ArmarX.GraphImportExport.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.GraphImportExport.MinimumLoggingLevel = Undefined + + +# ArmarX.GraphImportExport.ObjectName: Name of IceGrid well-known object +# Attributes: +# - Default: "" +# - Case sensitivity: yes +# - Required: no +# ArmarX.GraphImportExport.ObjectName = "" + + +# ArmarX.GraphImportExport.RemoteGuiName: Name of the remote gui provider +# Attributes: +# - Default: RemoteGuiProvider +# - Case sensitivity: yes +# - Required: no +# ArmarX.GraphImportExport.RemoteGuiName = RemoteGuiProvider + + +# ArmarX.GraphImportExport.cmp.GraphNodePoseResolver: Ice object name of the `GraphNodePoseResolver` component. +# Attributes: +# - Default: GraphNodePoseResolver +# - Case sensitivity: yes +# - Required: no +# ArmarX.GraphImportExport.cmp.GraphNodePoseResolver = GraphNodePoseResolver + + +# ArmarX.GraphImportExport.cmp.PriorKnowledge: Ice object name of the `PriorKnowledge` component. +# Attributes: +# - Default: PriorKnowledge +# - Case sensitivity: yes +# - Required: no +# ArmarX.GraphImportExport.cmp.PriorKnowledge = PriorKnowledge + + +# ArmarX.GraphImportExport.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.GraphImportExport.mns.MemoryNameSystemEnabled = true + + +# ArmarX.GraphImportExport.mns.MemoryNameSystemName: Name of the Memory Name System (MNS) component. +# Attributes: +# - Default: MemoryNameSystem +# - Case sensitivity: yes +# - Required: no +# ArmarX.GraphImportExport.mns.MemoryNameSystemName = MemoryNameSystem + + +# ArmarX.GraphImportExport.tpc.sub.MemoryListener: Name of the `MemoryListener` topic to subscribe to. +# Attributes: +# - Default: MemoryUpdates +# - Case sensitivity: yes +# - Required: no +# ArmarX.GraphImportExport.tpc.sub.MemoryListener = MemoryUpdates + + +# ArmarX.LoadLibraries: Libraries to load at start up of the application. Must be enabled by the Application with enableLibLoading(). Format: PackageName:LibraryName;... or /absolute/path/to/library;... +# Attributes: +# - Default: "" +# - 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 = Verbose + + diff --git a/scenarios/GraphImportExport/config/global.cfg b/scenarios/GraphImportExport/config/global.cfg new file mode 100644 index 0000000000000000000000000000000000000000..673c18c7cfab51e5a3ed26e40434ee279004ee12 --- /dev/null +++ b/scenarios/GraphImportExport/config/global.cfg @@ -0,0 +1,4 @@ +# ================================================================== +# Global Config from Scenario GraphImportExport +# ================================================================== + diff --git a/source/armarx/navigation/client/NavigationStackConfig.cpp b/source/armarx/navigation/client/NavigationStackConfig.cpp index 2cea3c7b05b2c2653231dc1d3ec75ada60cb2afe..90e6247bb804b5a2a07fc50d0474cb92144c882c 100644 --- a/source/armarx/navigation/client/NavigationStackConfig.cpp +++ b/source/armarx/navigation/client/NavigationStackConfig.cpp @@ -13,6 +13,7 @@ #include <armarx/navigation/core/constants.h> #include <armarx/navigation/core/types.h> + namespace armarx::navigation::client { aron::datanavigator::DictNavigatorPtr diff --git a/source/armarx/navigation/client/NavigationStackConfig.h b/source/armarx/navigation/client/NavigationStackConfig.h index e1fbfc240e2ed3a4881eab828fe8b3566eef7de5..fd49c961559ebe201c7dc616899d1b42dab7526f 100644 --- a/source/armarx/navigation/client/NavigationStackConfig.h +++ b/source/armarx/navigation/client/NavigationStackConfig.h @@ -35,6 +35,7 @@ #include <armarx/navigation/safety_control/SafetyController.h> #include <armarx/navigation/trajectory_control/TrajectoryController.h> + namespace armarx::navigation::client { struct GeneralConfig diff --git a/source/armarx/navigation/client/Navigator.h b/source/armarx/navigation/client/Navigator.h index f1330e55fc5ad450c54cc68b88a122085430e3f2..d2265f56fb79ec3293a74544190051eeacb4ed2f 100644 --- a/source/armarx/navigation/client/Navigator.h +++ b/source/armarx/navigation/client/Navigator.h @@ -22,6 +22,7 @@ #pragma once +#include <condition_variable> #include <functional> #include <mutex> #include <optional> @@ -33,7 +34,6 @@ #include <armarx/navigation/core/NavigatorInterface.h> #include <armarx/navigation/core/events.h> #include <armarx/navigation/core/types.h> -#include <condition_variable> namespace armarx::navigation::client diff --git a/source/armarx/navigation/components/GraphImportExport/GraphImportExport.cpp b/source/armarx/navigation/components/GraphImportExport/GraphImportExport.cpp index 92694a45fe17ac24788b9b4a9b55f8c404d05049..a261e166d7df3ef79290e387b07b772c630232a3 100644 --- a/source/armarx/navigation/components/GraphImportExport/GraphImportExport.cpp +++ b/source/armarx/navigation/components/GraphImportExport/GraphImportExport.cpp @@ -84,8 +84,8 @@ namespace armarx::nav { proxies.graphSegment = proxies.priorKnowledge->getGraphSegment(); } - proxies.locationWriter = memoryNameSystem.useWriter(properties.locationCoreSegmentID); - proxies.graphWriter = memoryNameSystem.useWriter(properties.graphCoreSegmentID); + proxies.locationWriter = memoryNameSystem().useWriter(properties.locationCoreSegmentID); + proxies.graphWriter = memoryNameSystem().useWriter(properties.graphCoreSegmentID); // Setup and start the remote GUI. diff --git a/source/armarx/navigation/components/GraphImportExport/GraphImportExport.h b/source/armarx/navigation/components/GraphImportExport/GraphImportExport.h index 1f2a97588fff6c0a1819bc26c6bcae3fd79c18fc..dbe84891c8c6d5c5b51cac7b31209d331adcd6da 100644 --- a/source/armarx/navigation/components/GraphImportExport/GraphImportExport.h +++ b/source/armarx/navigation/components/GraphImportExport/GraphImportExport.h @@ -27,14 +27,15 @@ #include <ArmarXGui/libraries/ArmarXGuiComponentPlugins/LightweightRemoteGuiComponentPlugin.h> +#include <RobotAPI/libraries/armem/client/plugins.h> #include <RobotAPI/libraries/RobotAPIComponentPlugins/ArVizComponentPlugin.h> -#include <RobotAPI/libraries/armem/client/MemoryNameSystemComponentPlugin.h> #include <RobotAPI/libraries/armem/client/Writer.h> #include <MemoryX/interface/components/GraphNodePoseResolverInterface.h> #include <MemoryX/interface/components/PriorKnowledgeInterface.h> #include <MemoryX/interface/memorytypes/MemoryEntities.h> #include <MemoryX/interface/memorytypes/MemorySegments.h> + #include <armarx/navigation/graph/forward_declarations.h> @@ -53,11 +54,11 @@ namespace armarx::nav * Detailed description of class GraphImportExport. */ class GraphImportExport : - virtual public armarx::Component, - virtual public armarx::DebugObserverComponentPluginUser, - virtual public armarx::LightweightRemoteGuiComponentPluginUser, - virtual public armarx::ArVizComponentPluginUser, - virtual public armarx::armem::client::MemoryNameSystemComponentPluginUser + virtual public armarx::Component + , virtual public armarx::DebugObserverComponentPluginUser + , virtual public armarx::LightweightRemoteGuiComponentPluginUser + , virtual public armarx::ArVizComponentPluginUser + , virtual public armarx::armem::ClientPluginUser { public: GraphImportExport(); diff --git a/source/armarx/navigation/components/NavigationMemory/NavigationMemory.cpp b/source/armarx/navigation/components/NavigationMemory/NavigationMemory.cpp index 713589499105ff02a9c1923abed5c7df2ab7653d..48e11cf3e5d84552a1c3ab9ffcc5d01fdaa44007 100644 --- a/source/armarx/navigation/components/NavigationMemory/NavigationMemory.cpp +++ b/source/armarx/navigation/components/NavigationMemory/NavigationMemory.cpp @@ -21,19 +21,29 @@ */ #include "NavigationMemory.h" - -#include <ArmarXCore/core/time/CycleUtil.h> -#include <ArmarXCore/libraries/DecoupledSingleComponent/Decoupled.h> - #include "Visu.h" + #include <armarx/navigation/core/aron/Trajectory.aron.generated.h> #include <armarx/navigation/core/aron/Twist.aron.generated.h> -#include <armarx/navigation/graph/Graph.h> #include <armarx/navigation/graph/aron/Graph.aron.generated.h> #include <armarx/navigation/graph/constants.h> +#include <armarx/navigation/graph/Graph.h> #include <armarx/navigation/location/aron/Location.aron.generated.h> #include <armarx/navigation/location/constants.h> +#include <RobotAPI/libraries/armem/server/wm/memory_definitions.h> +#include <RobotAPI/libraries/armem/server/ltm/disk/MemoryManager.h> +#include <RobotAPI/libraries/armem/server/query_proc/ltm.h> +#include <RobotAPI/libraries/armem/client/query.h> +#include <RobotAPI/libraries/armem/core/operations.h> + +#include <ArmarXCore/core/time/CycleUtil.h> +#include <ArmarXCore/core/system/ArmarXDataPath.h> +#include <ArmarXCore/core/time/CycleUtil.h> +#include <ArmarXCore/libraries/DecoupledSingleComponent/Decoupled.h> + +#include <filesystem> + namespace armarx::navigation { @@ -57,6 +67,11 @@ namespace armarx::navigation // def->component(myComponentProxy) + workingMemory().name() = "Navigation"; + def->optional(properties.snapshotToLoad, "p.snapshotToLoad", + "Memory snapshot to load at start up \n" + "(e.g. 'PriorKnowledgeData/navigation-graphs/snapshot')."); + def->optional(properties.locationGraph.visuLocations, "p.locationGraph.visuLocation", "Enable visualization of locations."); @@ -71,6 +86,25 @@ namespace armarx::navigation } + std::optional<std::filesystem::path> + findSnapshotDirectory(const std::filesystem::path& specifiedPath, const std::string& memoryName) + { + std::vector<std::filesystem::path> candidates + { + specifiedPath, + specifiedPath / memoryName, + }; + for (const auto& candidate : candidates) + { + if (candidate.filename() == memoryName and std::filesystem::is_directory(candidate)) + { + return candidate; + } + } + return std::nullopt; + } + + void NavigationMemory::onInitComponent() { @@ -80,8 +114,6 @@ namespace armarx::navigation // (Requies the armarx::DebugObserverComponentPluginUser.) // setDebugObserverBatchModeEnabled(true); - setMemoryName(properties.memoryName); - workingMemory().addCoreSegment("Parameterization"); workingMemory().addCoreSegment("Results_GlobalPlanner", @@ -93,14 +125,40 @@ namespace armarx::navigation workingMemory().addCoreSegment("Results_SafetyController", navigation::core::arondto::Twist::toAronType()); - workingMemory().addCoreSegment("Events"); //, armem::example::ExampleData::toAronType()); - // workingMemory.addCoreSegment("Exceptions"); //, armem::example::ExampleData::toAronType()); + workingMemory().addCoreSegment("Events"); //, armem::example::ExampleData::toAronType()); + // workingMemory.addCoreSegment("Exceptions"); //, armem::example::ExampleData::toAronType()); workingMemory().addCoreSegment(navigation::location::coreSegmentID.coreSegmentName, navigation::location::arondto::Location::toAronType()); workingMemory().addCoreSegment(navigation::graph::coreSegmentID.coreSegmentName, navigation::graph::arondto::Graph::toAronType()); + + + if (not properties.snapshotToLoad.empty()) + { + std::string resolved = ArmarXDataPath::resolvePath(properties.snapshotToLoad); + if (auto path = findSnapshotDirectory(resolved, workingMemory().name())) + { + const std::string key = path->filename(); + armem::server::ltm::disk::MemoryManager manager; + manager.setName(key); + manager.setBasePath(path.value()); + manager.reload(); + + armem::client::QueryBuilder builder; + builder.all(); + armem::client::QueryInput queryInput = builder.buildQueryInput(); + queryInput.addQueryTargetToAll(armem::query::data::QueryTarget::LTM); + + armem::server::query_proc::ltm::MemoryQueryProcessor processor; + armem::wm::Memory memory = processor.process(queryInput.toIce(), manager.getCacheAndLutNotConverted()); + manager.convert(memory); + + ARMARX_INFO << "Loaded " << armem::print(memory); + workingMemory().update(armem::toCommit(memory)); + } + } } @@ -209,9 +267,11 @@ namespace armarx::navigation void NavigationMemory::visuRun() { - memory::Visu visu{arviz, - workingMemory().getCoreSegment(navigation::location::coreSegmentID), - workingMemory().getCoreSegment(navigation::graph::coreSegmentID)}; + memory::Visu visu { + arviz, + workingMemory().getCoreSegment(navigation::loc::coreSegmentID), + workingMemory().getCoreSegment(navigation::graph::coreSegmentID) + }; Properties::LocationGraph p; { diff --git a/source/armarx/navigation/components/NavigationMemory/NavigationMemory.h b/source/armarx/navigation/components/NavigationMemory/NavigationMemory.h index 75b46dc2aa630848d01ce9069cc6039387b67309..83e8f9223baee1d3bc1fe3817d36a1e619b55b5e 100644 --- a/source/armarx/navigation/components/NavigationMemory/NavigationMemory.h +++ b/source/armarx/navigation/components/NavigationMemory/NavigationMemory.h @@ -22,18 +22,20 @@ #pragma once -#include <mutex> - -#include <ArmarXCore/core/Component.h> -#include <ArmarXCore/core/services/tasks/TaskUtil.h> - -#include <ArmarXGui/libraries/ArmarXGuiComponentPlugins/LightweightRemoteGuiComponentPlugin.h> +#include <RobotAPI/libraries/RobotAPIComponentPlugins/ArVizComponentPlugin.h> +#include <RobotAPI/libraries/armem/server/plugins/ReadWritePluginUser.h> #include <RobotAPI/libraries/RobotAPIComponentPlugins/ArVizComponentPlugin.h> #include <RobotAPI/libraries/armem/server/plugins.h> +#include <ArmarXGui/libraries/ArmarXGuiComponentPlugins/LightweightRemoteGuiComponentPlugin.h> + +#include <ArmarXCore/core/Component.h> +#include <ArmarXCore/core/services/tasks/TaskUtil.h> // #include <ArmarXCore/libraries/ArmarXCoreComponentPlugins/DebugObserverComponentPlugin.h> +#include <mutex> + namespace armarx::navigation { @@ -52,9 +54,9 @@ namespace armarx::navigation class NavigationMemory : virtual public armarx::Component, // , virtual public armarx::DebugObserverComponentPluginUser - virtual public armarx::LightweightRemoteGuiComponentPluginUser, - virtual public armarx::ArVizComponentPluginUser, - virtual public armem::server::ReadWritePluginUser + , virtual public armarx::LightweightRemoteGuiComponentPluginUser + , virtual public armarx::ArVizComponentPluginUser + , virtual public armarx::armem::server::ReadWritePluginUser { public: /// @see armarx::ManagedIceObject::getDefaultName() @@ -90,7 +92,7 @@ namespace armarx::navigation /// Properties shown in the Scenario GUI. struct Properties { - std::string memoryName = "Navigation"; + std::string snapshotToLoad = ""; struct LocationGraph { diff --git a/source/armarx/navigation/components/Navigator/Navigator.h b/source/armarx/navigation/components/Navigator/Navigator.h index 94b6c083759e7976564c26598b61376ce4bd538c..f3687e02062794a827d86fa00baae29a1589f8ca 100644 --- a/source/armarx/navigation/components/Navigator/Navigator.h +++ b/source/armarx/navigation/components/Navigator/Navigator.h @@ -79,7 +79,7 @@ namespace armarx::navigation::components virtual public ObjectPoseClientPluginUser, virtual public RobotStateComponentPluginUser, virtual public ArVizComponentPluginUser, - virtual public armem::client::ComponentPluginUser + virtual public armem::ListeningClientPluginUser { public: diff --git a/source/armarx/navigation/factories/NavigationStackFactory.cpp b/source/armarx/navigation/factories/NavigationStackFactory.cpp index 91e5a46eb37431b54825ab49899b97364911a101..f394d9dbc9e10800a793826599c43bee7d8e4543 100644 --- a/source/armarx/navigation/factories/NavigationStackFactory.cpp +++ b/source/armarx/navigation/factories/NavigationStackFactory.cpp @@ -10,6 +10,7 @@ #include <armarx/navigation/factories/TrajectoryControllerFactory.h> #include <armarx/navigation/server/NavigationStack.h> + namespace armarx::navigation::fac { server::NavigationStack diff --git a/source/armarx/navigation/global_planning/AStar.cpp b/source/armarx/navigation/global_planning/AStar.cpp index 2301093cdb33eac746e9fab1d46451ebd0d82ecb..7103d698f2dcb2dbacc552112572355d14804f3f 100644 --- a/source/armarx/navigation/global_planning/AStar.cpp +++ b/source/armarx/navigation/global_planning/AStar.cpp @@ -23,6 +23,7 @@ #include <armarx/navigation/global_planning/core.h> #include <armarx/navigation/global_planning/optimization/OrientationOptimizer.h> + namespace armarx::navigation::glob_plan { diff --git a/source/armarx/navigation/gui-plugins/CMakeLists.txt b/source/armarx/navigation/gui-plugins/CMakeLists.txt index 0b821f039461902aa7dddab6d07b19ca82b6123c..0d39eb1e5e76d4dc51bf541d83385d037cb5c89a 100644 --- a/source/armarx/navigation/gui-plugins/CMakeLists.txt +++ b/source/armarx/navigation/gui-plugins/CMakeLists.txt @@ -1,2 +1 @@ - -add_subdirectory(LocationGraphEditor) \ No newline at end of file +add_subdirectory(LocationGraphEditor) diff --git a/source/armarx/navigation/gui-plugins/LocationGraphEditor/widgets/ConnectDialog.h b/source/armarx/navigation/gui-plugins/LocationGraphEditor/widgets/ConnectDialog.h index e1aed83df2da07362825c4cc200cfb4b927ce3f9..3f79a5c399a8e4ffe922ed836db92b4142c6d005 100644 --- a/source/armarx/navigation/gui-plugins/LocationGraphEditor/widgets/ConnectDialog.h +++ b/source/armarx/navigation/gui-plugins/LocationGraphEditor/widgets/ConnectDialog.h @@ -21,14 +21,13 @@ #pragma once -#include <QDialog> -#include <QDialogButtonBox> +#include <ArmarXGui/libraries/ArmarXGuiBase/widgets/IceProxyFinder.h> #include <ArmarXCore/core/ManagedIceObject.h> -#include <ArmarXGui/libraries/ArmarXGuiBase/widgets/IceProxyFinder.h> - -#include <QtWidgets/QVBoxLayout> +#include <QDialog> +#include <QDialogButtonBox> +#include <QVBoxLayout> namespace armarx::navigation::qt_plugins::location_graph_editor @@ -76,8 +75,10 @@ namespace armarx::navigation::qt_plugins::location_graph_editor public: + ManagedIceObject& component; armarx::IceProxyFinder<ProxyT>* finder = nullptr; + }; diff --git a/source/armarx/navigation/gui-plugins/LocationGraphEditor/widgets/RobotVisuWidget.cpp b/source/armarx/navigation/gui-plugins/LocationGraphEditor/widgets/RobotVisuWidget.cpp index cffd09bcd03444a3f415c38663a7309a58dda811..4aa57382d467d00ee364d8b9283cd16474d9f503 100644 --- a/source/armarx/navigation/gui-plugins/LocationGraphEditor/widgets/RobotVisuWidget.cpp +++ b/source/armarx/navigation/gui-plugins/LocationGraphEditor/widgets/RobotVisuWidget.cpp @@ -24,6 +24,7 @@ #include <QCheckBox> #include <QDialog> #include <QDialogButtonBox> +#include <QLabel> #include <QPushButton> #include <QVBoxLayout> diff --git a/source/armarx/navigation/server/event_publishing/MemoryPublisher.h b/source/armarx/navigation/server/event_publishing/MemoryPublisher.h index 28869851d392c7d0f053f2fe37e32c534501f36e..baa0ba961b9e4cc9139bd5dfb7013ae4172ddca7 100644 --- a/source/armarx/navigation/server/event_publishing/MemoryPublisher.h +++ b/source/armarx/navigation/server/event_publishing/MemoryPublisher.h @@ -4,6 +4,7 @@ #include <armarx/navigation/memory/client/stack_result/Writer.h> #include <armarx/navigation/server/event_publishing/EventPublishingInterface.h> + namespace armarx::navigation::server { diff --git a/source/armarx/navigation/server/monitoring/GoalReachedMonitor.cpp b/source/armarx/navigation/server/monitoring/GoalReachedMonitor.cpp index 73a067a889244cc9eb946261c09c08f64180b0ad..b79617d38f01f260e6d157e3a7d6ad62f65309bf 100644 --- a/source/armarx/navigation/server/monitoring/GoalReachedMonitor.cpp +++ b/source/armarx/navigation/server/monitoring/GoalReachedMonitor.cpp @@ -5,6 +5,7 @@ #include <ArmarXCore/core/exceptions/local/ExpressionException.h> #include <ArmarXCore/core/logging/Logging.h> + namespace armarx::navigation::server {