|
Observer monitoring @IMU sensor values. More...
#include <RobotAPI/components/units/InertialMeasurementUnitObserver.h>
Public Member Functions | |
PropertyDefinitionsPtr | createPropertyDefinitions () override |
std::string | getDefaultName () const override |
Retrieve default name of component. More... | |
InertialMeasurementUnitObserver () | |
void | onConnectObserver () override |
Framework hook. More... | |
void | onExitObserver () override |
Framework hook. More... | |
void | onInitObserver () override |
Framework hook. More... | |
void | reportSensorValues (const std::string &device, const std::string &name, const IMUData &values, const TimestampBasePtr ×tamp, const Ice::Current &c=Ice::emptyCurrent) override |
Public Member Functions inherited from Observer | |
DatafieldRefBasePtr | createFilteredDatafield (const DatafieldFilterBasePtr &filter, const DatafieldRefBasePtr &datafieldRef) |
This function creates a new datafield with new filter on the given datafield. More... | |
void | createFilteredDatafield_async (const AMD_ObserverInterface_createFilteredDatafieldPtr &amd, const DatafieldFilterBasePtr &filter, const DatafieldRefBasePtr &datafieldRef, const Ice::Current &) override |
DatafieldRefBasePtr | createNamedFilteredDatafield (const std::string &filterDatafieldName, const DatafieldFilterBasePtr &filter, const DatafieldRefBasePtr &datafieldRef) |
void | createNamedFilteredDatafield_async (const AMD_ObserverInterface_createNamedFilteredDatafieldPtr &amd, const std::string &filterDatafieldName, const DatafieldFilterBasePtr &filter, const DatafieldRefBasePtr &datafieldRef, const Ice::Current &) override |
bool | existsChannel (const std::string &channelName) const |
void | existsChannel_async (const AMD_ObserverInterface_existsChannelPtr &amd, const std::string &channelName, const Ice::Current &) const override |
bool | existsDataField (const std::string &channelName, const std::string &datafieldName) const |
void | existsDataField_async (const AMD_ObserverInterface_existsDataFieldPtr &amd, const std::string &channelName, const std::string &datafieldName, const Ice::Current &) const override |
ChannelRegistry | getAvailableChannels (bool includeMetaChannels) |
Retrieve information on all sensory data channels available from the observer. More... | |
void | getAvailableChannels_async (const AMD_ObserverInterface_getAvailableChannelsPtr &amd, bool includeMetaChannels, const Ice::Current &) override |
StringConditionCheckMap | getAvailableChecks () |
Retrieve list of available condition checks. More... | |
void | getAvailableChecks_async (const AMD_ObserverInterface_getAvailableChecksPtr &amd, const Ice::Current &) override |
ChannelRegistryEntry | getChannel (const std::string &channelName) const |
Retrieve information on all sensory data channels available from the observer. More... | |
void | getChannel_async (const AMD_ObserverInterface_getChannelPtr &amd, const std::string &channelName, const Ice::Current &) const override |
ChannelHistory | getChannelHistory (const std::string &channelName, Ice::Float timestepMs, const Ice::Current &c) const |
void | getChannelHistory_async (const AMD_ObserverInterface_getChannelHistoryPtr &amd, const std::string &channelName, Ice::Float timestepMs, const Ice::Current &c) const override |
TimedVariantBasePtr | getDataField (const DataFieldIdentifierBasePtr &identifier, const Ice::Current &c=Ice::emptyCurrent) const |
Retrieve data field from observer. More... | |
void | getDataField_async (const AMD_ObserverInterface_getDataFieldPtr &amd, const DataFieldIdentifierBasePtr &identifier, const Ice::Current &c) const override |
TimedVariantBasePtr | getDatafieldByName (const std::string &channelName, const std::string &datafieldName) const |
void | getDatafieldByName_async (const AMD_ObserverInterface_getDatafieldByNamePtr &amd, const std::string &channelName, const std::string &datafieldName, const Ice::Current &) const override |
TimedVariantBaseList | getDatafieldHistory (const std::string &channelName, const std::string &datafieldName, Ice::Float timestepMs, const Ice::Current &c) const |
void | getDatafieldHistory_async (const AMD_ObserverInterface_getDatafieldHistoryPtr &amd, const std::string &channelName, const std::string &datafieldName, Ice::Float timestepMs, const Ice::Current &c) const override |
DatafieldRefBasePtr | getDataFieldRef (const DataFieldIdentifierBasePtr &identifier) const |
void | getDataFieldRef_async (const AMD_ObserverInterface_getDataFieldRefPtr &amd, const DataFieldIdentifierBasePtr &identifier, const Ice::Current &) const override |
DatafieldRefBasePtr | getDatafieldRefByName (const std::string &channelName, const std::string &datafieldName) const |
void | getDatafieldRefByName_async (const AMD_ObserverInterface_getDatafieldRefByNamePtr &amd, const std::string &channelName, const std::string &datafieldName, const Ice::Current &) const override |
TimedVariantBaseList | getDataFields (const DataFieldIdentifierBaseList &identifiers, const Ice::Current &c) |
Retrieve list of data field from observer. More... | |
void | getDataFields_async (const AMD_ObserverInterface_getDataFieldsPtr &amd, const DataFieldIdentifierBaseList &identifiers, const Ice::Current &c) override |
StringTimedVariantBaseMap | getDatafieldsOfChannel (const std::string &channelName) const |
void | getDatafieldsOfChannel_async (const AMD_ObserverInterface_getDatafieldsOfChannelPtr &amd, const std::string &channelName, const Ice::Current &) const override |
std::string | getObserverName () const |
void | getObserverName_async (const AMD_ObserverInterface_getObserverNamePtr &amd, const Ice::Current &) const override |
ChannelHistory | getPartialChannelHistory (const std::string &channelName, Ice::Long startTimestamp, Ice::Long endTimestamp, Ice::Float timestepMs, const Ice::Current &c) const |
void | getPartialChannelHistory_async (const AMD_ObserverInterface_getPartialChannelHistoryPtr &amd, const std::string &channelName, Ice::Long startTimestamp, Ice::Long endTimestamp, Ice::Float timestepMs, const Ice::Current &c) const override |
TimedVariantBaseList | getPartialDatafieldHistory (const std::string &channelName, const std::string &datafieldName, Ice::Long startTimestamp, Ice::Long endTimestamp, Ice::Float timestepMs, const Ice::Current &c) const |
void | getPartialDatafieldHistory_async (const AMD_ObserverInterface_getPartialDatafieldHistoryPtr &amd, const std::string &channelName, const std::string &datafieldName, Ice::Long startTimestamp, Ice::Long endTimestamp, Ice::Float timestepMs, const Ice::Current &c) const override |
CheckIdentifier | installCheck (const CheckConfiguration &configuration) |
Installs a condition check with the observer. More... | |
void | installCheck_async (const AMD_ObserverInterface_installCheckPtr &amd, const CheckConfiguration &configuration, const Ice::Current &) override |
Observer () | |
void | removeCheck (const CheckIdentifier &id) |
Removes a condition check from the observer. More... | |
void | removeCheck_async (const AMD_ObserverInterface_removeCheckPtr &amd, const CheckIdentifier &id, const Ice::Current &) override |
void | removeFilteredDatafield (const DatafieldRefBasePtr &datafieldRef) |
Removes a previously installed filter. More... | |
void | removeFilteredDatafield_async (const AMD_ObserverInterface_removeFilteredDatafieldPtr &amd, const DatafieldRefBasePtr &datafieldRef, const Ice::Current &) override |
~Observer () | |
Public Member Functions inherited from Component | |
virtual void | componentPropertiesUpdated (const std::set< std::string > &changedProperties) |
Implement this function if you would like to react to changes in the properties. More... | |
void | forceComponentCreatedByComponentCreateFunc () |
forces the flag to be set to true that the object instance was created by the Component::create function More... | |
std::vector< PropertyUserPtr > | getAdditionalPropertyUsers () const |
template<typename PropertyType > | |
Property< PropertyType > | getProperty (const std::string &name) |
template<typename PropertyType > | |
Property< PropertyType > | getProperty (const std::string &name) const |
template<class T > | |
void | getProperty (std::atomic< T > &val, const std::string &name) const |
template<class T > | |
void | getProperty (T &val, const std::string &name) const |
template<class ProxyType > | |
ProxyType | getProxyFromProperty (const std::string &propertyName, bool addToDependencies=false, const std::string &endpoints="", bool throwOnProxyError=true) |
Get a proxy whose name is specified by the given property. More... | |
template<class ProxyType > | |
void | getProxyFromProperty (ProxyType &proxy, const std::string &propertyName, bool addToDependencies=false, const std::string &endpoints="", bool throwOnProxyError=true) |
template<class TopicProxyType > | |
TopicProxyType | getTopicFromProperty (const std::string &propertyName) |
Get a topic proxy whose name is specified by the given property. More... | |
template<class TopicProxyType > | |
void | getTopicFromProperty (TopicProxyType &top, const std::string &propertyName) |
void | initializeProperties (const std::string &configName, Ice::PropertiesPtr const &properties, const std::string &configDomain) |
initializes the properties of this component. More... | |
void | injectPropertyDefinitions (PropertyDefinitionsPtr &props) override |
void | offeringTopicFromProperty (const std::string &propertyName) |
Offer a topic whose name is specified by the given property. More... | |
virtual void | preOnConnectComponent () override |
virtual void | preOnInitComponent () override |
bool | usingProxyFromProperty (const std::string &propertyName, const std::string &endpoints="") |
Use a proxy whose name is specified by the given property. More... | |
void | usingTopicFromProperty (const std::string &propertyName, bool orderedPublishing=false) |
Use a topic whose name is specified by the given property. More... | |
Public Member Functions inherited from ManagedIceObject | |
void | enableProfiler (bool enable) |
setProfiler allows setting ManagedIceObject::profiler to a new instance (if the new instance is actually not a null pointer) More... | |
std::string | generateSubObjectName (const std::string &subObjectName) |
Generates a unique name for a sub object from a general name. More... | |
ArmarXManagerPtr | getArmarXManager () const |
Returns the ArmarX manager used to add and remove components. More... | |
ManagedIceObjectConnectivity | getConnectivity () const |
Retrieve connectivity of the object (topcis as well as proxies) More... | |
IceManagerPtr | getIceManager () const |
Returns the IceManager. More... | |
VariantBasePtr | getMetaInfo (const std::string &id) |
StringVariantBaseMap | getMetaInfoMap () const |
std::string | getName () const |
Retrieve name of object. More... | |
Ice::ObjectAdapterPtr | getObjectAdapter () const |
Returns object's Ice adapter. More... | |
ArmarXObjectSchedulerPtr | getObjectScheduler () const |
PeriodicTaskPtr | getPeriodicTask (const std::string &name) |
Profiler::ProfilerPtr | getProfiler () const |
getProfiler returns an instance of armarx::Profiler More... | |
template<class ProxyTarg , class... Args> | |
void | getProxy (const char *name, IceInternal::ProxyHandle< ProxyTarg > &proxy, Args &&...args) |
template<class ProxyType > | |
ProxyType | getProxy (const std::string &name, bool addToDependencies=false, const std::string &endpoints="", bool throwOnProxyError=true) |
Retrieves a proxy object. More... | |
template<class ProxyTarg , class... Args> | |
void | getProxy (const std::string &name, IceInternal::ProxyHandle< ProxyTarg > &proxy, Args &&...args) |
template<class ProxyTarg , class... Args> | |
void | getProxy (IceInternal::ProxyHandle< ProxyTarg > &proxy, const char *name, Args &&...args) |
template<class ProxyTarg , class... Args> | |
void | getProxy (IceInternal::ProxyHandle< ProxyTarg > &proxy, const std::string &name, Args &&...args) |
Assigns a proxy to proxy . More... | |
Ice::ObjectPrx | getProxy (long timeoutMs=0, bool waitForScheduler=true) const |
Returns the proxy of this object (optionally it waits for the proxy) More... | |
template<class Prx > | |
Prx | getProxy (long timeoutMs=0, bool waitForScheduler=true) const |
template<class ProxyType > | |
void | getProxy (ProxyType &proxy, const char *name, bool addToDependencies=false, const std::string &endpoints="", bool throwOnProxyError=true) |
Overload to allow using string literals as name (solve ambiguous overload). More... | |
template<class Prx > | |
void | getProxy (Prx &prx, long timeoutMs=0, bool waitForScheduler=true) const |
int | getState () const |
Retrieve current state of the ManagedIceObject. More... | |
template<class TopicProxyType > | |
TopicProxyType | getTopic (const std::string &name) |
Returns a proxy of the specified topic. More... | |
template<class TopicProxyType > | |
void | getTopic (TopicProxyType &topicProxy, const std::string &name) |
Assigns a proxy of the specified topic to topicProxy . More... | |
std::vector< std::string > | getUnresolvedDependencies () const |
returns the names of all unresolved dependencies More... | |
ManagedIceObject (ManagedIceObject const &other) | |
void | offeringTopic (const std::string &name) |
Registers a topic for retrival after initialization. More... | |
void | preambleGetTopic (std::string const &name) |
void | setMetaInfo (const std::string &id, const VariantBasePtr &value) |
Allows to set meta information that can be queried live via Ice interface on the ArmarXManager. More... | |
void | startPeriodicTask (const std::string &uniqueName, std::function< void(void)> f, int periodMs, bool assureMeanInterval=false, bool forceSystemTime=true) |
bool | stopPeriodicTask (const std::string &name) |
bool | unsubscribeFromTopic (const std::string &name) |
Unsubscribe from a topic. More... | |
bool | usingProxy (const std::string &name, const std::string &endpoints="") |
Registers a proxy for retrieval after initialization and adds it to the dependency list. More... | |
void | usingTopic (const std::string &name, bool orderedPublishing=false) |
Registers a proxy for subscription after initialization. More... | |
void | waitForObjectScheduler () |
Waits until the ObjectScheduler could resolve all dependencies. More... | |
void | waitForProxy (std::string const &name, bool addToDependencies) |
Public Member Functions inherited from Logging | |
SpamFilterDataPtr | deactivateSpam (float deactivationDurationSec=10.0f, const std::string &identifier="", bool deactivate=true) const |
disables the logging for the current line for the given amount of seconds. More... | |
MessageTypeT | getEffectiveLoggingLevel () const |
Logging () | |
void | setLocalMinimumLoggingLevel (MessageTypeT level) |
With setLocalMinimumLoggingLevel the minimum verbosity-level of log-messages can be set. More... | |
void | setTag (const LogTag &tag) |
void | setTag (const std::string &tagName) |
virtual | ~Logging () |
Public Member Functions inherited from PropertyUser | |
std::vector< std::string > | getComponentProxyNames () |
Ice::PropertiesPtr | getIceProperties () const |
Returns the set of Ice properties. More... | |
template<typename PropertyType > | |
Property< PropertyType > | getProperty (const std::string &name) |
Property creation and retrieval. More... | |
template<typename PropertyType > | |
Property< PropertyType > | getProperty (const std::string &name) const |
Hack to allow using getProperty in const -modified methods. More... | |
template<class T > | |
void | getProperty (std::atomic< T > &val, const std::string &name) const |
template<class T > | |
void | getProperty (T &val, const std::string &name) const |
template<class T > | |
std::vector< T > | getPropertyAsCSV (const std::string &name, const std::string &splitBy=",;", bool trimElements=true, bool removeEmptyElements=true) |
template<class ContainerT > | |
void | getPropertyAsCSV (ContainerT &val, const std::string &name, const std::string &splitBy=",;", bool trimElements=true, bool removeEmptyElements=true) |
PropertyDefinitionsPtr | getPropertyDefinitions () |
Returns the component's property definition container. More... | |
std::vector< std::string > | getSubscribedTopicNames () |
std::vector< std::string > | getTopicProxyNames () |
bool | hasProperty (const std::string &name) |
PropertyUser () | |
virtual void | setIceProperties (Ice::PropertiesPtr properties) |
Sets the Ice properties. More... | |
bool | tryAddProperty (const std::string &propertyName, const std::string &value) |
virtual void | updateIceProperties (const std::map< std::string, std::string > &changes) |
void | updateProperties () |
void | updateProxies (IceManagerPtr) |
~PropertyUser () override | |
Additional Inherited Members | |
Public Types inherited from ManagedIceObject | |
using | PeriodicTaskPtr = IceUtil::Handle< SimplePeriodicTask< std::function< void(void)> >> |
Static Public Member Functions inherited from Component | |
template<class T , class TPtr = IceInternal::Handle<T>> | |
static TPtr | create (Ice::PropertiesPtr properties=Ice::createProperties(), const std::string &configName="", const std::string &configDomain="ArmarX") |
Factory method for a component. More... | |
Static Public Member Functions inherited from ManagedIceObject | |
static std::string | generateSubObjectName (const std::string &superObjectName, const std::string &subObjectName) |
Generates a unique name for a sub object from a general name and unique name. More... | |
static std::string | GetObjectStateAsString (int state) |
Static Public Attributes inherited from ManagedIceObject | |
static const ManagedIceObjectPtr | NullPtr |
A nullptr to be used when a const ref to a nullptr is required. More... | |
Protected Types inherited from Observer | |
using | ClockT = std::chrono::high_resolution_clock |
using | TimepointT = typename ClockT::time_point |
Protected Member Functions inherited from Observer | |
template<class AMDPtr , class FReturn , class FOwner , class... FParams, class... Params> | |
void | addWorkerJob (const std::string &name, const AMDPtr &amd, FReturn(FOwner::*fnc)(FParams...) const, const Params &...ps) const |
template<class AMDPtr , class FReturn , class FOwner , class... FParams, class... Params> | |
void | addWorkerJob (const std::string &name, const AMDPtr &amd, FReturn(FOwner::*fnc)(FParams...), const Params &...ps) |
void | addWorkerJob (const std::string &name, std::function< void(void)> &&f) |
void | addWorkerJob (const std::string &name, std::function< void(void)> &&f) const |
void | callAndPassExceptionToAMD (auto &amd, auto f) const |
int | generateId () |
void | maybeOfferChannelAndSetDataFieldsFlatCopy (const std::string &channelName, const std::string &description, const StringVariantBaseMap &datafieldValues, bool triggerFilterUpdate=true) |
void | metaUpdateTask () |
void | offerChannel (std::string channelName, std::string description) |
Offer a channel. More... | |
void | offerConditionCheck (std::string checkName, ConditionCheck *conditionCheck) |
Offer a condition check. More... | |
void | offerDataField (std::string channelName, std::string datafieldName, VariantTypeId type, std::string description) |
Offer a datafield without default value. More... | |
void | offerDataFieldWithDefault (std::string channelName, std::string datafieldName, const Variant &defaultValue, std::string description) |
Offer a datafield with default value. More... | |
bool | offerOrUpdateDataField (std::string channelName, std::string datafieldName, const Variant &value, const std::string &description) |
void | offerOrUpdateDataFieldsFlatCopy (const std::string &channelName, const StringVariantBaseMap &valueMap) |
virtual void | postWorkerJobs () |
virtual void | preWorkerJobs () |
void | removeChannel (std::string channelName) |
Remove a channel. More... | |
void | removeDatafield (DataFieldIdentifierBasePtr id) |
void | runWorker () |
void | scheduleDatafieldFilterUpdate (const std::string &channelName, const std::string &datafieldName, const VariantBasePtr &value) |
void | setDataField (const std::string &channelName, const std::string &datafieldName, const Variant &value, bool triggerFilterUpdate=true) |
set datafield with datafieldName and in channel channelName More... | |
void | setDataFieldFlatCopy (const std::string &channelName, const std::string &datafieldName, const VariantPtr &value, bool triggerFilterUpdate=true) |
void | setDataFieldsFlatCopy (const std::string &channelName, const std::unordered_map< ::std::string, ::armarx::VariantBasePtr > &datafieldValues, bool triggerFilterUpdate=true) |
void | setDataFieldsFlatCopy (const std::string &channelName, const StringVariantBaseMap &datafieldValues, bool triggerFilterUpdate=true) |
void | updateChannel (const std::string &channelName, const std::set< std::string > &updatedDatafields=std::set< std::string >()) |
Update all conditions for a channel. More... | |
std::set< std::string > | updateDatafieldFilter (const std::string &channelName, const std::string &datafieldName, const VariantBasePtr &value) |
void | updateDatafieldTimestamps (const std::string &channelName, const std::unordered_map< std::string, Ice::Long > &datafieldValues) |
void | updateDatafieldTimestamps (const std::string &channelName, Ice::Long timestamp) |
Protected Member Functions inherited from Component | |
void | addPropertyUser (const PropertyUserPtr &subPropertyUser) |
Add additional property users here that should show up in the application help text. More... | |
Component () | |
Protected default constructor. Used for virtual inheritance. Use createManagedIceObject() instead. More... | |
std::string | getConfigDomain () |
Retrieve config domain for this component as set in constructor. More... | |
std::string | getConfigIdentifier () |
Retrieve config identifier for this component as set in constructor. More... | |
std::string | getConfigName () |
Retrieve config name for this component as set in constructor. More... | |
virtual void | icePropertiesInitialized () |
Protected Member Functions inherited from ManagedIceObject | |
template<class PluginT , class... ParamsT> | |
PluginT * | addPlugin (const std::string prefix="", ParamsT &&...params) |
template<class PluginT , class... ParamsT> | |
void | addPlugin (PluginT *&targ, const std::string prefix="", ParamsT &&...params) |
template<class PluginT , class... ParamsT> | |
void | addPlugin (std::experimental::observer_ptr< PluginT > &targ, const std::string prefix="", ParamsT &&...params) |
Ice::CommunicatorPtr | getCommunicator () const |
std::unique_ptr< ManagedIceObjectPlugin > & | getPluginPointer (std::type_info const &type, std::string const &prefix) |
ManagedIceObject () | |
Protected default constructor. More... | |
virtual void | onDisconnectComponent () |
Hook for subclass. More... | |
virtual void | postOnDisconnectComponent () |
virtual void | postOnExitComponent () |
virtual void | postOnInitComponent () |
virtual void | preOnExitComponent () |
bool | removeProxyDependency (const std::string &name) |
This function removes the dependency of this object on the in parameter name specified object. More... | |
void | setName (std::string name) |
Override name of well-known object. More... | |
void | terminate () |
Initiates termination of this IceManagedObject. More... | |
~ManagedIceObject () override | |
Protected Member Functions inherited from Logging | |
bool | checkLogLevel (MessageTypeT level) const |
const LogSenderPtr & | getLogSender () const |
Retrieve log sender. More... | |
LogSenderPtr | loghelper (const char *file, int line, const char *function) const |
Static Protected Member Functions inherited from Observer | |
static TimepointT | Now () |
static float | TimeDeltaInMs (TimepointT t0) |
Protected Attributes inherited from Observer | |
std::recursive_mutex | channelsMutex |
std::unique_ptr< Impl > | impl |
Protected Attributes inherited from Logging | |
MessageTypeT | minimumLoggingLevel |
SpamFilterDataPtr | spamFilter |
LogTag | tag |
Observer monitoring @IMU sensor values.
The InertialMeasurementUnitObserver monitors @IMU sensor values published by InertialMeasurementUnit-implementations and offers condition checks on these values. Available condition checks are: updated, larger, equals and smaller.
Definition at line 62 of file InertialMeasurementUnitObserver.h.
|
inline |
Definition at line 67 of file InertialMeasurementUnitObserver.h.
|
overridevirtual |
Reimplemented from Observer.
Definition at line 147 of file InertialMeasurementUnitObserver.cpp.
|
inlineoverridevirtual |
Retrieve default name of component.
Implement this method in each IceManagedObject. The default name of a is used if no name is specified in the factory method.
Reimplemented from Observer.
Definition at line 69 of file InertialMeasurementUnitObserver.h.
|
overridevirtual |
Framework hook.
Called on first run, after ice setup.
Implements Observer.
Definition at line 53 of file InertialMeasurementUnitObserver.cpp.
|
overridevirtual |
Framework hook.
Called on first run, after ice setup.
Reimplemented from Observer.
Definition at line 61 of file InertialMeasurementUnitObserver.cpp.
|
overridevirtual |
Framework hook.
Called once on initialization of the Observer.
Implements Observer.
Definition at line 38 of file InertialMeasurementUnitObserver.cpp.
|
override |
Definition at line 70 of file InertialMeasurementUnitObserver.cpp.