Skip to content
Snippets Groups Projects

Refactor skills framework

Merged Rainer Kartmann requested to merge skills/dev into master
Files
2
@@ -9,7 +9,8 @@
namespace armarx::skills::provider
{
HelloWorldSkill::HelloWorldSkill() : Skill(GetSkillDescription())
HelloWorldSkill::HelloWorldSkill() :
SimpleSpecializedSkill<skills::Example::HelloWorldAcceptedType>(GetSkillDescription())
{
}
@@ -21,7 +22,7 @@ namespace armarx::skills::provider
root_profile_params.some_int = 42;
root_profile_params.some_text = "YOLO";
root_profile_params.some_list_of_matrices.push_back(Eigen::Matrix3f::Zero());
//default_params.some_matrix = Eigen::Matrix3f::Zero();
root_profile_params.some_matrix = Eigen::Matrix3f::Zero();
return SkillDescription{{"HelloWorld"},
"This skill logs a message on ARMARX_IMPORTANT",
@@ -31,12 +32,12 @@ namespace armarx::skills::provider
}
Skill::MainResult
HelloWorldSkill::main()
HelloWorldSkill::main(const SpecializedMainInput& in)
{
ARMARX_IMPORTANT << "Hi, from the Hello World Skill.\n"
<< "I received the following data: \n"
<< aron::data::converter::AronNlohmannJSONConverter::ConvertToNlohmannJSON(
parameters)
in.parameters.toAron())
.dump(2)
<< "\n"
<< "Type fulfilled? "
@@ -47,7 +48,7 @@ namespace armarx::skills::provider
return {TerminatedSkillStatus::Succeeded, nullptr};
}
IncompleteSkill::IncompleteSkill() : Skill(GetSkillDescription())
IncompleteSkill::IncompleteSkill() : SimpleSkill(GetSkillDescription())
{
}
@@ -86,14 +87,14 @@ namespace armarx::skills::provider
}
Skill::MainResult
IncompleteSkill::main()
IncompleteSkill::main(const MainInput& in)
{
auto s = HelloWorldSkill();
s.setParameters(this->getParameters());
s.setParameters(in.parameters);
return s.mainOfSkill();
}
ChainingSkill::ChainingSkill() : Skill(GetSkillDescription())
ChainingSkill::ChainingSkill() : SimpleSkill(GetSkillDescription())
{
}
@@ -108,7 +109,7 @@ namespace armarx::skills::provider
}
Skill::MainResult
ChainingSkill::main()
ChainingSkill::main(const MainInput& in)
{
armarx::skills::Example::HelloWorldAcceptedType exec1;
armarx::skills::Example::HelloWorldAcceptedType exec2;
@@ -152,7 +153,7 @@ namespace armarx::skills::provider
return {ActiveOrTerminatedSkillStatus::Running, nullptr};
}
CallbackSkill::CallbackSkill() : Skill(GetSkillDescription())
CallbackSkill::CallbackSkill() : SimpleSkill(GetSkillDescription())
{
}
@@ -167,21 +168,21 @@ namespace armarx::skills::provider
}
Skill::MainResult
CallbackSkill::main()
CallbackSkill::main(const MainInput& in)
{
ARMARX_IMPORTANT << "Logging three updates via the callback";
auto up1 = std::make_shared<aron::data::Dict>();
up1->addElement("updateInfo", std::make_shared<aron::data::String>("Update 1"));
this->callback(skills::SkillStatus::Running, up1);
in.callback(skills::SkillStatus::Running, up1);
auto up2 = std::make_shared<aron::data::Dict>();
up2->addElement("updateInfo", std::make_shared<aron::data::String>("Update 2"));
this->callback(skills::SkillStatus::Running, up2);
in.callback(skills::SkillStatus::Running, up2);
auto up3 = std::make_shared<aron::data::Dict>();
up3->addElement("updateInfo", std::make_shared<aron::data::String>("Update 3"));
this->callback(skills::SkillStatus::Running, up3);
in.callback(skills::SkillStatus::Running, up3);
return {TerminatedSkillStatus::Succeeded, nullptr};
}
Loading