RobotHeadMovement.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include <optional>
4 #include <string>
5 #include <vector>
6 
9 #include <ArmarXCore/interface/observers/ObserverInterface.h>
11 
13 
14 #include <RobotAPI/interface/objectpose/ObjectPoseStorageInterface.h>
15 #include <RobotAPI/interface/observers/KinematicUnitObserverInterface.h>
16 
17 namespace armarx
18 {
19  class PropertyDefinitionContainer;
21 } // namespace armarx
22 
24 {
26  {
27  public:
29  const std::string& prefix = "head.");
30 
31  void fetchDatafields();
32  bool isMoving() const;
33 
34  void movementStarts(long discardIntervalMs);
35  void movementStarts(const Duration& discardInterval);
36  void movementStops(long discardIntervalMs);
37  void movementStops(const Duration& discardInterval);
38 
39  objpose::SignalHeadMovementOutput
40  signalHeadMovement(const objpose::SignalHeadMovementInput& input);
41 
42  struct Discard
43  {
44  std::optional<DateTime> updatesUntil;
45  bool all = false;
46  };
47 
49 
50 
51  public:
52  bool checkHeadVelocity = true;
53 
54  std::string jointVelocitiesChannelName = "jointvelocities";
55  std::vector<std::string> jointNames = {"Neck_1_Yaw", "Neck_2_Pitch"};
56  float maxJointVelocity = 0.05f;
58 
59  KinematicUnitObserverInterfacePrx kinematicUnitObserver;
60  std::vector<DatafieldRefPtr> jointVelocitiesDatafields;
62 
64 
65  struct RemoteGui
66  {
68 
72 
73  void setup(const RobotHeadMovement& rhm);
74  void update(RobotHeadMovement& rhm);
75  };
76  };
77 
78 } // namespace armarx::armem::server::obj::instance
armarx::armem::server::obj::instance::RobotHeadMovement::getDiscard
Discard getDiscard()
Definition: RobotHeadMovement.cpp:142
armarx::armem::server::obj::instance::RobotHeadMovement::discardUpdatesUntil
DateTime discardUpdatesUntil
Definition: RobotHeadMovement.h:61
armarx::armem::server::obj::instance::RobotHeadMovement::RemoteGui::setup
void setup(const RobotHeadMovement &rhm)
Definition: RobotHeadMovement.cpp:167
armarx::armem::server::obj::instance::RobotHeadMovement::RemoteGui::maxJointVelocity
armarx::RemoteGui::Client::FloatSpinBox maxJointVelocity
Definition: RobotHeadMovement.h:70
armarx::armem::server::obj::instance::RobotHeadMovement::maxJointVelocity
float maxJointVelocity
Definition: RobotHeadMovement.h:56
DateTime.h
armarx::armem::server::obj::instance::RobotHeadMovement::kinematicUnitObserver
KinematicUnitObserverInterfacePrx kinematicUnitObserver
Definition: RobotHeadMovement.h:59
armarx::armem::server::obj::instance::RobotHeadMovement::Discard::all
bool all
Definition: RobotHeadMovement.h:45
armarx::armem::server::obj::instance::RobotHeadMovement::movementStops
void movementStops(long discardIntervalMs)
Definition: RobotHeadMovement.cpp:98
armarx::armem::server::obj::instance::RobotHeadMovement::fetchDatafields
void fetchDatafields()
Definition: RobotHeadMovement.cpp:27
armarx::armem::server::obj::instance::RobotHeadMovement::jointNames
std::vector< std::string > jointNames
Definition: RobotHeadMovement.h:55
armarx::armem::server::obj::instance::RobotHeadMovement::defineProperties
void defineProperties(armarx::PropertyDefinitionsPtr defs, const std::string &prefix="head.")
Definition: RobotHeadMovement.cpp:11
armarx::armem::server::obj::instance
Definition: ArticulatedObjectVisu.cpp:16
armarx::armem::server::obj::instance::RobotHeadMovement::RemoteGui::group
armarx::RemoteGui::Client::GroupBox group
Definition: RobotHeadMovement.h:67
armarx::armem::server::obj::instance::RobotHeadMovement::RemoteGui::update
void update(RobotHeadMovement &rhm)
Definition: RobotHeadMovement.cpp:200
armarx::armem::server::obj::instance::RobotHeadMovement::movementStarts
void movementStarts(long discardIntervalMs)
Definition: RobotHeadMovement.cpp:86
DatafieldRef.h
armarx::armem::server::obj::instance::RobotHeadMovement::RemoteGui::discardIntervalAfterMoveMS
armarx::RemoteGui::Client::IntSpinBox discardIntervalAfterMoveMS
Definition: RobotHeadMovement.h:71
armarx::aron::input
ReaderT::InputType & input
Definition: rw.h:12
armarx::armem::server::obj::instance::RobotHeadMovement::Discard
Definition: RobotHeadMovement.h:42
armarx::RemoteGui::Client::GroupBox
Definition: Widgets.h:193
armarx::armem::server::obj::instance::RobotHeadMovement::isMoving
bool isMoving() const
Definition: RobotHeadMovement.cpp:68
armarx::armem::server::obj::instance::RobotHeadMovement::Discard::updatesUntil
std::optional< DateTime > updatesUntil
Definition: RobotHeadMovement.h:44
armarx::core::time::DateTime
Represents a point in time.
Definition: DateTime.h:24
armarx::Logging
Base Class for all Logging classes.
Definition: Logging.h:239
armarx::armem::server::obj::instance::RobotHeadMovement
Definition: RobotHeadMovement.h:25
armarx::armem::server::obj::instance::RobotHeadMovement::RemoteGui
Definition: RobotHeadMovement.h:65
IceUtil::Handle
Definition: forward_declarations.h:30
armarx::armem::server::obj::instance::RobotHeadMovement::discardIntervalAfterMoveMS
int discardIntervalAfterMoveMS
Definition: RobotHeadMovement.h:57
armarx::core::time::Duration
Represents a duration.
Definition: Duration.h:16
IceInternal::ProxyHandle<::IceProxy::armarx::DebugObserverInterface >
armarx::RemoteGui::Client::IntSpinBox
Definition: Widgets.h:69
armarx::RemoteGui::Client::CheckBox
Definition: Widgets.h:129
Widgets.h
armarx::armem::server::obj::instance::RobotHeadMovement::signalHeadMovement
objpose::SignalHeadMovementOutput signalHeadMovement(const objpose::SignalHeadMovementInput &input)
Definition: RobotHeadMovement.cpp:119
armarx::armem::server::obj::instance::RobotHeadMovement::RemoteGui::checkHeadVelocity
armarx::RemoteGui::Client::CheckBox checkHeadVelocity
Definition: RobotHeadMovement.h:69
Logging.h
armarx::armem::server::obj::instance::RobotHeadMovement::checkHeadVelocity
bool checkHeadVelocity
Definition: RobotHeadMovement.h:52
armarx::armem::server::obj::instance::RobotHeadMovement::jointVelocitiesDatafields
std::vector< DatafieldRefPtr > jointVelocitiesDatafields
Definition: RobotHeadMovement.h:60
armarx::PropertyDefinitionsPtr
IceUtil::Handle< class PropertyDefinitionContainer > PropertyDefinitionsPtr
PropertyDefinitions smart pointer type.
Definition: forward_declarations.h:35
armarx::armem::server::obj::instance::RobotHeadMovement::jointVelocitiesChannelName
std::string jointVelocitiesChannelName
Definition: RobotHeadMovement.h:54
armarx::RemoteGui::Client::FloatSpinBox
Definition: Widgets.h:93
armarx::core::time::DateTime::Invalid
static DateTime Invalid()
Definition: DateTime.cpp:57
armarx
This file offers overloads of toIce() and fromIce() functions for STL container types.
Definition: ArmarXTimeserver.cpp:27
armarx::armem::server::obj::instance::RobotHeadMovement::debugObserver
DebugObserverInterfacePrx debugObserver
Definition: RobotHeadMovement.h:63