Skip to content
Snippets Groups Projects
Commit b56b1b8d authored by Rainer Kartmann's avatar Rainer Kartmann
Browse files

Add NavigateToNamedLocation skill to skill provider

parent 13912403
No related branches found
No related tags found
1 merge request!99Load location names, add NavigateToNamedLocation skill
This commit is part of merge request !99. Comments created here will be created in the context of that merge request.
......@@ -25,21 +25,16 @@
#include <ArmarXCore/libraries/DecoupledSingleComponent/Decoupled.h>
#include <armarx/navigation/location/constants.h>
#include <armarx/navigation/skills/GuideHumanToRoom.h>
#include <armarx/navigation/skills/MoveRelativePlanar.h>
#include <armarx/navigation/skills/MoveXMeters.h>
#include <armarx/navigation/skills/NavigateTo.h>
#include <armarx/navigation/skills/NavigateToLocation.h>
#include <armarx/navigation/skills/NavigateToNamedLocation.h>
#include <armarx/navigation/skills/RotateXDegrees.h>
#include <armarx/navigation/skills/constants.h>
// Include headers you only need in function definitions in the .cpp.
// #include <Eigen/Core>
// #include <SimoxUtility/color/Color.h>
namespace armarx::navigation::components::navigation_skill_provider
{
Component::Component()
......@@ -61,6 +56,17 @@ namespace armarx::navigation::components::navigation_skill_provider
def->required(properties.robotName, "RobotName", "Default robot name.");
auto optionalSubSkillID =
[&def](armarx::skills::SkillID& skillID, const std::string& nameBase)
{
ARMARX_CHECK(skillID.providerId.has_value());
def->optional(skillID.providerId->providerName, nameBase + ".providerName");
def->optional(skillID.skillName, nameBase + ".skillName");
};
optionalSubSkillID(properties.navigateToNamedLocation.subSkillIDs.navigateToLocation,
"p.navigateToNamedLocation.subSkillIDs.navigateToLocation");
return def;
}
......@@ -97,6 +103,15 @@ namespace armarx::navigation::components::navigation_skill_provider
addSkillFactory<skills::NavigateToLocation>(srv);
}
{
skills::NavigateToNamedLocation::Services services{
.locationReader =
memoryNameSystem().getReader(armarx::navigation::location::coreSegmentID),
};
addSkillFactory<skills::NavigateToNamedLocation>(properties.navigateToNamedLocation,
services);
}
{
skills::MoveXMeters::Services srv{
.iceNavigator = iceNavigator,
......
......@@ -37,6 +37,7 @@
#include <armarx/navigation/components/navigation_skill_provider/ComponentInterface.h>
#include <armarx/navigation/memory/client/costmap/Reader.h>
#include <armarx/navigation/memory/client/rooms/Reader.h>
#include <armarx/navigation/skills/NavigateToNamedLocation.h>
#include <armarx/navigation/skills/forward_declarations.h>
namespace armarx::navigation::components::navigation_skill_provider
......@@ -109,6 +110,8 @@ namespace armarx::navigation::components::navigation_skill_provider
struct Properties
{
std::string robotName;
skills::NavigateToNamedLocation::Properties navigateToNamedLocation;
};
Properties properties;
......
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