32 #include <Ice/Current.h>
33 #include <IceUtil/Time.h>
37 #include <MemoryX/interface/components/SimpleEpisodicMemoryInterface.h>
45 virtual public SimpleEpisodicMemoryInterface
67 void registerEpisodeEvent(
const EpisodeEvent&,
const Ice::Current& = Ice::emptyCurrent)
override;
68 void registerImageEvent(
const ImageEvent&,
const Ice::Current& = Ice::emptyCurrent)
override;
70 void registerActionEvent(
const ActionEvent&,
const Ice::Current& = Ice::emptyCurrent)
override;
71 void registerHumanPoseEvent(
const Body25HumanPoseEvent&,
const Ice::Current& = Ice::emptyCurrent)
override;
72 void registerSpeechEvent(
const SpeechEvent&,
const Ice::Current& = Ice::emptyCurrent)
override;
76 void notifyKeyframe(
const Ice::Current& = Ice::emptyCurrent)
override;
80 void export_episode()
const;
83 static const std::string NO_EPISODE;
86 std::string m_export_folder;
88 Episode m_current_episode;
90 std::mutex episodeEventMutex;
91 std::mutex imageEventMutex;
92 std::mutex objectPoseEventMutex;
93 std::mutex actionEventMutex;
94 std::mutex humanPoseEventMutex;
95 std::mutex speechEventMutex;
96 std::mutex kinematicUnitEventMutex;
97 std::mutex platformUnitEventMutex;
98 std::mutex platformUnitTargetEventMutex;