|
This Module holds all high-level data about the robot. More...
#include <RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleRobotData.h>
Public Member Functions | |
bool | arePlatformAndLocalizationUnitsEnabled () const |
VirtualRobot::RobotPtr | cloneRobot (bool updateCollisionModel=false) const |
Returns a clone of the robot's model. More... | |
const std::string & | getRobotFileName () const |
Returns the file name of the robot's model. More... | |
std::string | getRobotName () const |
Returns the robot's name. More... | |
const std::string & | getRobotNodetSeName () const |
Returns the name of the robot's RobotNodeSet. More... | |
std::string | getRobotPlatformInstanceName () const |
Returns the name of the robot platform instance. More... | |
const std::string & | getRobotPlatformName () const |
Returns the name of the robot's platform. More... | |
const std::string & | getRobotProjectName () const |
Returns the name of the project containing the robot's model. More... | |
Public Member Functions inherited from ModuleBase | |
template<class T > | |
T & | _module () |
Returns this as ref to the given type. More... | |
template<class T > | |
const T & | _module () const |
Returns this as ref to the given type. More... | |
template<class T > | |
T * | _modulePtr () |
Returns this as ptr to the given type. More... | |
template<class T > | |
const T * | _modulePtr () const |
Returns this as ptr to the given type. More... | |
bool | areDevicesReady () const |
Returns whether Devices are ready. More... | |
virtual IceUtil::Time | getControlThreadTargetPeriod () const =0 |
The ControlThread's period. More... | |
RobotUnitState | getRobotUnitState () const |
Returns the RobotUnit's State. More... | |
bool | inControlThread () const |
Returns whether the current thread is the ControlThread. More... | |
bool | isShuttingDown () const |
Returns whether the RobotUnit is shutting down. More... | |
virtual void | joinControlThread ()=0 |
Implementations have to join their ControlThread in this hook. (used by RobotUnit::finishRunning()) More... | |
virtual void | onConnectRobotUnit () |
called in onConnectComponent More... | |
virtual void | onDisconnectRobotUnit () |
called in onDisconnecComponent More... | |
virtual void | onExitRobotUnit () |
called in onExitComponent before calling finishRunning More... | |
virtual void | onInitRobotUnit () |
called in onInitComponent More... | |
void | shutDown () |
Requests the RobotUnit to shut down. More... | |
void | throwIfDevicesNotReady (const std::string &fnc) const |
Throws if the Devices are not ready. More... | |
void | throwIfInControlThread (const std::string &fnc) const |
Throws if the current thread is the ControlThread. More... | |
void | throwIfStateIs (const std::set< RobotUnitState > &stateSet, const std::string &fnc, bool onlyWarn=false) const |
Throws an exception if the current state is in. More... | |
void | throwIfStateIs (RobotUnitState s, const std::string &fnc, bool onlyWarn=false) const |
Throws an exception if the current state is. More... | |
void | throwIfStateIsNot (const std::set< RobotUnitState > &stateSet, const std::string &fnc, bool onlyWarn=false) const |
Throws an exception if the current state is not in. More... | |
void | throwIfStateIsNot (RobotUnitState s, const std::string &fnc, bool onlyWarn=false) const |
Throws an exception if the current state is not. More... | |
Public Member Functions inherited from Component | |
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 | |
Static Public Member Functions | |
static RobotData & | Instance () |
Returns the singleton instance of this class. More... | |
Static Public Member Functions inherited from ModuleBase | |
static ModuleBase & | Instance () |
Returns the singleton instance of this class. More... | |
template<class T > | |
static T & | Instance () |
Returns the singleton instance of the given class. More... | |
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) |
Friends | |
class | ModuleBase |
Additional Inherited Members | |
Public Types inherited from ManagedIceObject | |
using | PeriodicTaskPtr = IceUtil::Handle< SimplePeriodicTask< std::function< void(void)> >> |
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 ModuleBase | |
using | ClockType = std::chrono::high_resolution_clock |
using | GuardType = std::unique_lock< MutexType > |
using | MutexType = std::recursive_timed_mutex |
The type of recursive_mutex used in this class. More... | |
using | TimePointType = std::chrono::high_resolution_clock::time_point |
Protected Member Functions inherited from ModuleBase | |
void | _componentPropertiesUpdated (const std::set< std::string > &) |
Hook for deriving RobotUnitModules called in componentPropertiesUpdated. More... | |
void | _icePropertiesInitialized () |
Hook for deriving RobotUnitModules called in icePropertiesInitialized. More... | |
void | _postFinishComponentInitialization () |
Hook for deriving RobotUnitModules called in finishComponentInitialization (called after the state has changed) More... | |
void | _postFinishControlThreadInitialization () |
Hook for deriving RobotUnitModules called in finishControlThreadInitialization (called after the state has changed) More... | |
void | _postFinishDeviceInitialization () |
Hook for deriving RobotUnitModules called in finishDeviceInitialization (called after the state has changed) More... | |
void | _postFinishRunning () |
Hook for deriving RobotUnitModules called in finishRunning (called after the state has changed) More... | |
void | _postFinishUnitInitialization () |
Hook for deriving RobotUnitModules called in finishUnitInitialization (called after the state has changed) More... | |
void | _postOnConnectRobotUnit () |
Hook for deriving RobotUnitModules called in onConnectComponent (called after onConnectRobotUnit was called) More... | |
void | _postOnDisconnectRobotUnit () |
Hook for deriving RobotUnitModules called in onDisconnectComponent (called after onDisconnectRobotUnit was called) More... | |
void | _postOnExitRobotUnit () |
Hook for deriving RobotUnitModules called in onExitComponent (called after onExitRobotUnit was called) More... | |
void | _postOnInitRobotUnit () |
Hook for deriving RobotUnitModules called in onInitComponent (called after onInitRobotUnit was called) More... | |
void | _preFinishComponentInitialization () |
Hook for deriving RobotUnitModules called in finishComponentInitialization (called before the state has changed) More... | |
void | _preFinishControlThreadInitialization () |
Hook for deriving RobotUnitModules called in finishControlThreadInitialization (called before the state has changed) More... | |
void | _preFinishDeviceInitialization () |
Hook for deriving RobotUnitModules called in finishDeviceInitialization (called before the state has changed) More... | |
void | _preFinishRunning () |
Hook for deriving RobotUnitModules called in finishRunning (called before the state has changed) More... | |
void | _preFinishUnitInitialization () |
Hook for deriving RobotUnitModules called in finishUnitInitialization (called before the state has changed) More... | |
void | _preOnConnectRobotUnit () |
Hook for deriving RobotUnitModules called in onConnectComponent (called before onConnectRobotUnit was called) More... | |
void | _preOnDisconnectRobotUnit () |
Hook for deriving RobotUnitModules called in onDisconnectComponent (called before onDisconnectRobotUnit was called) More... | |
void | _preOnExitRobotUnit () |
Hook for deriving RobotUnitModules called in onExitComponent (called before onExitRobotUnit was called) More... | |
void | _preOnInitRobotUnit () |
Hook for deriving RobotUnitModules called in onInitComponent (called before onInitRobotUnit was called) More... | |
void | checkDerivedClasses () const |
Checks whether the implementing class derives all modules. More... | |
void | componentPropertiesUpdated (const std::set< std::string > &changedProperties) override |
virtual void | finishComponentInitialization () |
Transition RobotUnitState::InitializingComponent -> RobotUnitState::InitializingDevices. More... | |
virtual void | finishControlThreadInitialization () |
Transition RobotUnitState::InitializingControlThread -> RobotUnitState::Running. More... | |
virtual void | finishDeviceInitialization () |
Transition RobotUnitState::InitializingDevices -> RobotUnitState::InitializingUnits. More... | |
virtual void | finishRunning () |
Transition RobotUnitState::Running -> RobotUnitState::Exiting. More... | |
virtual void | finishUnitInitialization () |
Transition RobotUnitState::InitializingUnits -> RobotUnitState::WaitingForRTThreadInitialization. More... | |
std::string | getDefaultName () const override |
GuardType | getGuard () const |
Returns a guard to the RobotUnits mutex. More... | |
void | icePropertiesInitialized () override |
ModuleBase () | |
Ctor. More... | |
void | onConnectComponent () final override |
void | onDisconnectComponent () final override |
void | onExitComponent () final override |
void | onInitComponent () final override |
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... | |
PropertyDefinitionsPtr | createPropertyDefinitions () override |
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... | |
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 | postOnConnectComponent () |
virtual void | postOnDisconnectComponent () |
virtual void | postOnExitComponent () |
virtual void | postOnInitComponent () |
virtual void | preOnDisconnectComponent () |
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 ModuleBase | |
static constexpr std::size_t | IndexSentinel () |
Returns a sentinel value for an index (std::numeric_limits<std::size_t>::max()) More... | |
Protected Attributes inherited from Logging | |
MessageTypeT | minimumLoggingLevel |
SpamFilterDataPtr | spamFilter |
LogTag | tag |
This Module holds all high-level data about the robot.
Definition at line 52 of file RobotUnitModuleRobotData.h.
bool arePlatformAndLocalizationUnitsEnabled | ( | ) | const |
Definition at line 69 of file RobotUnitModuleRobotData.cpp.
VirtualRobot::RobotPtr cloneRobot | ( | bool | updateCollisionModel = false | ) | const |
Returns a clone of the robot's model.
Definition at line 127 of file RobotUnitModuleRobotData.cpp.
const std::string & getRobotFileName | ( | ) | const |
Returns the file name of the robot's model.
Definition at line 108 of file RobotUnitModuleRobotData.cpp.
std::string getRobotName | ( | ) | const |
Returns the robot's name.
Definition at line 117 of file RobotUnitModuleRobotData.cpp.
const std::string & getRobotNodetSeName | ( | ) | const |
Returns the name of the robot's RobotNodeSet.
Definition at line 90 of file RobotUnitModuleRobotData.cpp.
std::string getRobotPlatformInstanceName | ( | ) | const |
Returns the name of the robot platform instance.
Used for the platform topic: RobotPlatformInstance + "State"
Definition at line 84 of file RobotUnitModuleRobotData.cpp.
const std::string & getRobotPlatformName | ( | ) | const |
Returns the name of the robot's platform.
Definition at line 75 of file RobotUnitModuleRobotData.cpp.
const std::string & getRobotProjectName | ( | ) | const |
Returns the name of the project containing the robot's model.
Definition at line 99 of file RobotUnitModuleRobotData.cpp.
|
inlinestatic |
Returns the singleton instance of this class.
Definition at line 62 of file RobotUnitModuleRobotData.h.
|
friend |
Definition at line 54 of file RobotUnitModuleRobotData.h.