TaskOutcomeMemory.h
Go to the documentation of this file.
1#pragma once
2
4
6
10
11namespace armarx
12{
13
15 virtual public armarx::Component,
18 {
19 public:
21
22 std::string getDefaultName() const override;
23
24 armem::data::CommitResult commit(const armem::data::Commit& commit,
25 const Ice::Current&) override;
26
27 void createRemoteGuiTab();
28 void RemoteGui_update() override;
29
30 protected:
31 void onInitComponent() override;
32 void onConnectComponent() override;
33 void onDisconnectComponent() override;
34 void onExitComponent() override;
35
37
38 private:
39 static constexpr const char* MemoryName = "TaskOutcome";
40
42
43 struct FailureTypeCheckBoxes
44 {
45 // Planning
46 RemoteGui::Client::CheckBox planningNoTrajectoryFound;
47 RemoteGui::Client::CheckBox planningNoGraspFound;
48 RemoteGui::Client::CheckBox planningSpecial;
49 // Knowledge / Perception
50 RemoteGui::Client::CheckBox perceptionObjectNotDetected;
51 RemoteGui::Client::CheckBox perceptionCameraNotWorking;
52 // Knowledge / Retrieval
53 RemoteGui::Client::CheckBox knowledgeRetrievalTechnicalFailure;
54 RemoteGui::Client::CheckBox knowledgeRetrievalKnowledgeNotInMemory;
55 // Execution
56 RemoteGui::Client::CheckBox executionRobotNotMoving;
57 RemoteGui::Client::CheckBox executionHandNotClosing;
58 RemoteGui::Client::CheckBox executionGraspingFailureDetected;
59 // Interaction
60 RemoteGui::Client::CheckBox interactionNoHumanForHandover;
61 RemoteGui::Client::CheckBox interactionDesiredObjectNotAtLocation;
62 RemoteGui::Client::CheckBox interactionCommunicationFailure;
63 // Interruption
64 RemoteGui::Client::CheckBox interruptionUserStopped;
65 // Subskill Failure
66 RemoteGui::Client::CheckBox subskillFailureFailed;
67 RemoteGui::Client::LineEdit subskillFailureName;
68 };
69
70 struct RemoteGuiTab : RemoteGui::Client::Tab
71 {
73 std::map<int, RemoteGui::Client::ToggleButton> selectButtons;
74 RemoteGui::Client::LineEdit errorMessageInput;
75 RemoteGui::Client::ComboBox statusComboBox;
76 FailureTypeCheckBoxes failureCheckBoxes;
78 };
79
80 RemoteGuiTab tab;
81 int guiMaxEntries = 20;
82 int selectedOutcomeIndex = -1;
83 bool selectionJustChanged = false;
84 std::string editErrorText;
85 std::string editStatus = "UNKNOWN";
87 std::string editStatusMessage;
88 std::vector<armem::MemoryID> displayedOutcomeIds;
89 std::atomic_bool newDataAvailable{false};
90 };
91
92} // namespace armarx
Baseclass for all ArmarX ManagedIceObjects requiring properties.
Definition Component.h:94
void onInitComponent() override
Pure virtual hook for the subclass.
armem::data::CommitResult commit(const armem::data::Commit &commit, const Ice::Current &) override
void onDisconnectComponent() override
Hook for subclass.
armarx::PropertyDefinitionsPtr createPropertyDefinitions() override
void onConnectComponent() override
Pure virtual hook for the subclass.
void onExitComponent() override
Hook for subclass.
std::string getDefaultName() const override
Retrieve default name of component.
Base class of memory server components.
This file offers overloads of toIce() and fromIce() functions for STL container types.
IceUtil::Handle< class PropertyDefinitionContainer > PropertyDefinitionsPtr
PropertyDefinitions smart pointer type.