RobotControl Class Reference

RobotControl is used for dynamically loading and starting robot programs. More...

#include <RobotAPI/statecharts/operations/RobotControl.h>

+ Inheritance diagram for RobotControl:

Public Member Functions

PropertyDefinitionsPtr createPropertyDefinitions () override
 
std::string getStateOffererName () const override
 Implement this function to specify the RemoteStateOfferer prefix. More...
 
void hardReset (const Ice::Current &=Ice::emptyCurrent) override
 
void onConnectRemoteStateOfferer () override
 Virtual function, in which the user can fetch some proxies. More...
 
void onExitRemoteStateOfferer () override
 Virtual function, in which the user can implement some clean up. More...
 
void onInitRemoteStateOfferer () override
 Pure virtual function, in which the states must be added, that should be remote-accessable. More...
 
void startRobotStatechart ()
 
- Public Member Functions inherited from RemoteStateOfferer< StatechartContext >
std::string getDefaultName () const override
 Retrieve default name of component. More...
 
void onConnectStatechart () override
 onConnectStatechart is called before armarx::StatechartContext::startStatechart() and after armarx::StatechartContext::onConnectStatechartContext() More...
 
void onExitStatechart () override
 onExitStatechart can be implemented by subclasses More...
 
void onInitStatechart () override
 onInitStatechart this method is called when the statechart is started. More...
 
void waitUntilComponentStarted () override
 
- Public Member Functions inherited from RemoteStateOffererBase
RemoteStatePtr addDynamicRemoteState (std::string instanceName) override
 Overridden so that the user cannot use it. More...
 
RemoteStatePtr addRemoteState (std::string stateName, std::string proxyName, std::string instanceName) override
 Overridden so that the user cannot use it. More...
 
bool breakActiveSubstateRemotely (int stateId, const EventBasePtr &evt, const ::Ice::Current &context=Ice::emptyCurrent) override
 
bool breakRemoteState (int stateId, const EventBasePtr &evt, const ::Ice::Current &context=Ice::emptyCurrent) override
 
void callRemoteState (int stateId, const StringVariantContainerBaseMap &properties, const Ice::Current &context=Ice::emptyCurrent) override
 
int createRemoteStateInstance (const std::string &stateName, const RemoteStateIceBasePrx &remoteStatePrx, const std::string &parentStateItentifierStr, const std::string &instanceName, const Ice::Current &context=Ice::emptyCurrent) override
 
CreateRemoteStateInstanceOutput createRemoteStateInstanceNew (CreateRemoteStateInstanceInput const &input, Ice::Current const &context) override
 
void exitRemoteState (int stateId, const ::Ice::Current &context=Ice::emptyCurrent) override
 
StateIdNameMap getAvailableStateInstances (const ::Ice::Current &context=Ice::emptyCurrent) override
 
Ice::StringSeq getAvailableStates (const ::Ice::Current &context=Ice::emptyCurrent) override
 
std::map< int, StateBasePtrgetChildStatesByName (int parentId, std::string stateName)
 
StateBasePtr getGlobalInstancePtr (int globalId) const
 
RemoteStateData getInstance (int stateId)
 
StateParameterMap getRemoteInputParameters (const std::string &stateName, const ::Ice::Current &context=Ice::emptyCurrent) override
 
StateParameterMap getRemoteInputParametersById (int stateId, const ::Ice::Current &context=Ice::emptyCurrent) override
 
StateParameterMap getRemoteOutputParameters (const std::string &stateName, const ::Ice::Current &context=Ice::emptyCurrent) override
 
StateParameterMap getRemoteOutputParametersById (int stateId, const ::Ice::Current &context=Ice::emptyCurrent) override
 
StateIceBasePtr getStatechart (const std::string &stateName, const ::Ice::Current &context=Ice::emptyCurrent) override
 
StateIceBasePtr getStatechartInstance (int stateId, const Ice::Current &=Ice::emptyCurrent) override
 
StateIceBasePtr getStatechartInstanceByGlobalIdStr (const std::string &globalStateIdStr, const Ice::Current &=Ice::emptyCurrent) override
 
StateIceBasePtr getStatechartInstanceByGlobalIdStrRecursive (const std::string &globalStateIdStr, StateBasePtr state, int &stateCounter)
 
virtual StateBasePtr getStatePtr (const std::string &stateName) const
 
bool hasActiveSubstateRemote (int stateId, const ::Ice::Current &context=Ice::emptyCurrent) override
 
bool hasSubstatesRemote (const std::string &stateName, const ::Ice::Current &context=Ice::emptyCurrent) const override
 
void initState (State &state)
 
bool isHostOfStateByGlobalIdStr (const std::string &globalStateIdStr, const Ice::Current &=Ice::emptyCurrent) override
 
bool isRemoteStateFinished (int stateId, const ::Ice::Current &context=Ice::emptyCurrent) override
 
void issueEvent (int receivingStateId, const EventBasePtr &evt, const Ice::Current &=Ice::emptyCurrent) override
 
void issueEventWithGlobalIdStr (const std::string &globalStateIdStr, const EventBasePtr &evt, const Ice::Current &=Ice::emptyCurrent) override
 
void notifyEventBufferedDueToUnbreakableStateRemote (int stateId, bool eventBuffered, const ::Ice::Current &context=Ice::emptyCurrent) override
 
void onConnectStatechartImpl ()
 
void onExitStatechartImpl ()
 
StateIceBasePtr refetchRemoteSubstates (int stateId, const ::Ice::Current &context=Ice::emptyCurrent) override
 
void removeInstance (int stateId, const Ice::Current &=Ice::emptyCurrent) override
 
void run () override
 Virtual function, that can be reimplemented to calculate complex operations. More...
 
void updateGlobalStateIdRecursive (int stateId, const std::string &parentId, const Ice::Current &context=Ice::emptyCurrent) override
 
- Public Member Functions inherited from State
StateBasePtr addState (StateBasePtr pNewState)
 
template<>
StatePtr addState (std::string const &stateName)
 
template<>
StatePtr addState (std::string const &stateName)
 
template<class derivedState >
IceInternal::Handle< derivedState > addState (std::string const &stateName="")
 Function to add a new substate to this state. Should be called in the defineState()-function. More...
 
bool addToInput (const std::string &key, const ContainerType &type, bool optional, VariantContainerBasePtr defaultValue=VariantContainerBasePtr())
 Adds a key,type-pair to the input parameters. More...
 
bool addToInput (const std::string &key, VariantTypeId type, bool optional, VariantPtr defaultValue=VariantPtr())
 Adds a new parameter list to the input parameters with a specific type. More...
 
bool addToLocal (const std::string &key, const ContainerType &type, VariantContainerBasePtr defaultValue=VariantContainerBasePtr())
 Adds a new parameter list to the local parameters with a specific type. More...
 
bool addToLocal (const std::string &key, VariantTypeId type, VariantPtr defaultValue=VariantPtr())
 Adds a key,type-pair to the local parameters. More...
 
bool addToOutput (const std::string &key, const ContainerType &type, bool optional)
 Adds a new parameter list to the output parameters with a specific type. More...
 
bool addToOutput (const std::string &key, VariantTypeId type, bool optional)
 Adds a key,type-pair to the output parameters. More...
 
TransitionIceBase & addTransition (EventPtr event, StateIceBasePtr sourceState, StateIceBasePtr destinationState, ParameterMappingIceBasePtr mappingToNextStatesInput=nullptr, ParameterMappingIceBasePtr mappingToParentStatesLocal=nullptr, ParameterMappingIceBasePtr mappingToParentStatesOutput=nullptr)
 
template<class EventType >
TransitionIceBase & addTransition (StateIceBasePtr sourceState, StateIceBasePtr destinationState, ParameterMappingIceBasePtr mappingToNextStatesInput=nullptr, ParameterMappingIceBasePtr mappingToParentStatesLocal=nullptr, ParameterMappingIceBasePtr mappingToParentStatesOutput=nullptr)
 Function to add a new transition between to substates to this state. More...
 
template<class EventType >
TransitionIceBase & addTransitionFromAllStates (StateIceBasePtr destinationState, ParameterMappingIceBasePtr mappingToNextStatesInput=nullptr, ParameterMappingIceBasePtr mappingToParentStatesLocal=nullptr, ParameterMappingIceBasePtr mappingToParentStatesOutput=nullptr)
 Function to add a new transition from all substates to destinationState. More...
 
void cancelSubstates ()
 Use this function in the onEnter() function, if you want to avoid that the substates (i.e. More...
 
StateBasePtr clone () const override
 Generates a new copy of this state with the same statename, substates, transitions, overidden functions etc. More...
 
StateBasePtr createEmptyCopy () const override
 Generates a new copy of this state with the same overidden functions. stateName, substates, transition etc. are not set. More...
 
std::string getGlobalIdString () const
 Getter for the global state identifier string. More...
 
unsigned int getId () const
 Returns an id to this state, that is guaranteed to be unique in this process. More...
 
StateBasePtr getInitState () const
 Getter for the initial state. The initial state is automatically entered, when this state is entered. More...
 
template<typename T >
std::enable_if_t< std::is_base_of_v< VariantDataClass, T >, IceInternal::Handle< T > > getInput (const std::string &key) const
 getInput can be used to access a specific input parameter.
More...
 
template<typename T >
std::enable_if_t< !(std::is_base_of_v< VariantDataClass, T >||std::is_base_of_v< VariantContainerBase, T >), TgetInput (const std::string &key) const
 getInput can be used to access a specific input parameter.
More...
 
VariantPtr getInput (const std::string &key) const
 getInput can be used to access a specific input parameter. More...
 
StateParameterMap getInputParameters () override
 Returns a new copy of the inputparameters-dictionary, so that the caller cannot modify them (const won't work due to pointers). More...
 
template<typename T >
std::enable_if_t< std::is_base_of_v< VariantDataClass, T >, IceInternal::Handle< T > > getLocal (const std::string &key) const
 getLocal can be used to access a specific input parameter.
More...
 
template<typename T >
std::enable_if_t< !(std::is_base_of_v< VariantDataClass, T >||std::is_base_of_v< VariantContainerBase, T >), TgetLocal (const std::string &key) const
 getLocal can be used to access a specific input parameter.
More...
 
VariantContainerBasePtr getLocalContainer (std::string const &key)
 
StateParameterMap & getLocalParameters ()
 Getter for the local parameter map. More...
 
template<typename T >
std::enable_if_t< std::is_base_of_v< VariantDataClass, T >, IceInternal::Handle< T > > getOutput (const std::string &key) const
 getOutput can be used to access a specific input parameter.
More...
 
template<typename T >
std::enable_if_t< !(std::is_base_of_v< VariantDataClass, T >||std::is_base_of_v< VariantContainerBase, T >), TgetOutput (const std::string &key) const
 getOutput can be used to access a specific input parameter.
More...
 
StateParameterMap & getOutputParameters () override
 getter function to get the map of output parameters More...
 
void inheritInputFromSubstate (std::string stateName)
 
bool init (StatechartContextInterface *context, StatechartManager *manager)
 Function to initialize this state. Must be called in the highest level of the hierarchy - and only there. More...
 
bool isInputParameterSet (const std::string &key) const
 Checks whether a given input parameter is set or not. More...
 
bool isLocalParameterSet (const std::string &key) const
 
bool isOutputParameterSet (const std::string &key) const
 
bool isUnbreakable () const
 
StateBasePtr setInitState (StateBasePtr initState, ParameterMappingPtr initialStateMapping=ParameterMappingPtr())
 Sets the initial substate of this state. More...
 
void setInput (std::string const &key, const Variant &value)
 setInput() sets an input parameter. More...
 
void setInput (std::string const &key, const VariantContainerBase &valueList)
 setInput() sets an input parameter list. More...
 
void setLocal (std::string const &key, const Variant &value)
 setLocal() sets a local parameter. More...
 
void setLocal (std::string const &key, const VariantContainerBase &valueList)
 setLocal() sets a local parameter list. More...
 
void setOutput (std::string const &key, const Variant &value)
 setOuput() sets an output parameter of this state.
More...
 
void setOutput (std::string const &key, const VariantContainerBase &valueList)
 setOuput() sets an output parameter LIST of this state.
More...
 
void setStateClassNameFromTypeName (const std::string &typeName)
 
void setStateName (const std::string &newName)
 
void setUnbreakable (bool setUnbreakable=true)
 With this function the state can be made unbreakable. More...
 
void setUseRunFunction (bool useRunFuntion)
 setUseRunFunction can be used to configurate whether the thread with the async. More...
 
- Public Member Functions inherited from StateUtility
template<class EventClass >
EventPtr createEvent ()
 Utility function to create a new Event. More...
 
EventPtr createEvent (const std::string &eventName, const StringVariantContainerBaseMap &properties=StringVariantContainerBaseMap())
 Utility function to create a new Event. More...
 
- Public Member Functions inherited from StateController
bool __applyMappings (const StateControllerPtr &srcState, const TransitionIceBase &t, const EventPtr &event, TransitionError &error)
 Apply the mappings during a transitions. More...
 
virtual bool __breakActiveSubstate (const EventPtr event)
 
bool __checkExistenceOfTransition (const TransitionIceBase &transition)
 
virtual void __enqueueEvent (const EventPtr event)
 
virtual void __finalize (const EventPtr event)
 Function that gets called, when a state enters a FinalSubstate. Virtual function, so that RemoteStateWrapper can override it. More...
 
bool __findValidTransition (const EventPtr &event, const StateIceBasePtr &sourceState, TransitionIceBase &resultTransition, TransitionError &error) const
 
StateControllerPtr __getParentState () const
 Getter function that automatically casts the parentState member of StateBase into StateControllerPtr. More...
 
virtual unsigned int __getUnbreakableBufferSize () const
 
virtual bool __getUnbreakableBufferStati () const
 Before:Function to get the unbreakable-buffer status of all parent state - recursively. More...
 
virtual void __notifyEventBufferedDueToUnbreakableState (bool eventBuffered=true)
 
void __printTransitionError (const TransitionError &transitionError, const EventPtr &event) const
 
virtual void __processBufferedEvents ()
 Processes buffered events, that could not be processed immediately due to unbreakable substates. More...
 
virtual void __processEvent (const EventPtr event, bool buffered=false)
 Main function to control the statemachine/state. More...
 
virtual void __substatesFinished (const EventPtr ev)
 Function that gets called, when a state enters a FinalSubstate. Virtual function, so that RemoteStateWrapper can override it. More...
 
TransitionError __validateTransition (const TransitionIceBase &transition, const EventPtr event, const StateIceBasePtr &sourceState, const StateIceBasePtr &destinationState) const
 
void __waitForRemoteStates () const
 
virtual bool _baseOnBreak (const EventPtr evt)
 Called by StateControllerprocessEvent()-function or parentstate. Must NOT be called by user. More...
 
virtual void _baseOnEnter ()
 Called by StateControllerprocessEvent()-function or parentstate. More...
 
virtual void _baseOnExit ()
 Called by StateController::processEvent()-function or parentstate. Must NOT be called by user. More...
 
virtual void _baseRun ()
 
virtual void _startRun ()
 
void addProfilerRecursive (Profiler::ProfilerPtr profiler, int recursiveLevels=0)
 addProfilerRecursive recursively adds a new armarx::Profiler::Profiler object as armarx::StateController::localProfiler(the default one does not do anything at all). More...
 
void addTransitionFunction (const TransitionIceBase &t, transitionFunction function)
 
void disableRunFunction ()
 disableRunFunction sets useRunFunction to false and waits (blocking) for the current StateBase::run() function to complete. More...
 
void disableStateReporting (bool disable=true)
 Disables the reporting to profilers for this states during state visits. More...
 
void enter (const StringVariantContainerBaseMap &tempInputParameters=StringVariantContainerBaseMap())
 Function to set the statemachine in the first state and call OnEnter(). More...
 
bool findTransition (const std::string &eventName, const std::string sourceStateName, TransitionIceBase &transition)
 
std::string getTransitionID (const std::string &eventName, const std::string sourceStateName) const
 
std::string getTransitionID (const TransitionIceBase &t) const
 
bool isFinished () const
 
bool isRunningTaskFinished () const
 Checks whether the run() function has already finished. More...
 
bool isRunningTaskStopped () const
 isRunningTaskStopped checks whether the RunningTask, that executes run() is requested to stop. More...
 
void removeProfilerRecursive (Profiler::ProfilerPtr profiler, int recursiveLevels=0)
 
 StateController ()
 
 StateController (const StateController &source)
 
void waitForRunningTaskToFinish () const
 Waits until the run-function has finished. More...
 
void waitForStateToFinish (int timeoutMs=-1) const
 waitForStateToFinish waits until this thread has finished (i.e. More...
 
 ~StateController () override
 
- Public Member Functions inherited from StateBase
void __checkPhase (const std::vector< StatePhase > &allowedTypes, const char *functionName) const
 
void __checkPhase (StatePhase allowedType, const char *functionName) const
 Helper function for checking if a function was called in valid position of the statechart. More...
 
void __checkPhaseMin (StatePhase allowedType, const char *functionName) const
 
void __copyDefaultValuesToInput ()
 
StringVariantContainerBaseMap __getSetInputAndLocalParameters () const
 Combines both maps to one map and returns a new map of only the set parameters. More...
 
virtual bool __hasActiveSubstate ()
 Virtual function to indicate wheter a state has an active substate or not. To be overridden by RemoteState to deligate the call to the real state. More...
 
virtual bool __hasSubstates ()
 Virtual function to indicate wheter a state has substates or not. To be overridden by RemoteState to deligate the call to the real state. More...
 
void __setParentState (StateBase *parentState)
 
void __throwUnknownParameter (const StateParameterMap &paramMap, const std::string &key) const
 
void __updateGlobalStateId ()
 
virtual void __updateGlobalStateIdRecursive ()
 
bool addParameter (StateParameterMap &paramMap, const std::string &key, VariantTypeId type, bool optional, VariantPtr defaultValue=VariantPtr()) const
 
bool addParameterContainer (StateParameterMap &paramMap, const std::string &key, const ContainerType &containerType, bool optional, VariantContainerBasePtr defaultValue=VariantContainerBasePtr()) const
 
void clearSelfPointer ()
 
virtual void deepCopy (const StateBase &sourceState, bool reset=true)
 Function to copy the states with all it substates and transitions. More...
 
virtual void defineParameters ()
 Virtual function, in which input/local/output parameters can be specified. More...
 
virtual void defineState ()
 Virtual function, in which this state can be configured. More...
 
virtual void defineSubstates ()
 Virtual function, in which substates, transition and mappings can be added. More...
 
StateBasePtr findSubstateByName (const std::string &substateName)
 Utility function to find a substate of this state by the name. More...
 
template<typename ContextType >
ContextType * getContext () const
 
StatechartContextInterfacegetContext (bool checkNULL=true) const
 
std::string getGlobalHierarchyString () const
 
std::string getLocalHierarchyString () const
 Function to get a string that contains als parent states and this state. (e.g. "Robot->Functional->Idling") More...
 
Ice::Int getLocalUniqueId () const
 
void getParameter (const StateParameterMap &paramMap, const std::string &key, VariantPtr &value) const
 
void getParameterContainer (const StateParameterMap &paramMap, const std::string &key, VariantContainerBasePtr &valueContainer) const
 
const std::string & getStateClassName () const
 
std::string getStateName () const
 getStateName More...
 
StatePhase getStatePhase () const
 
EventPtr getTriggeredEndstateEvent () const
 This function returns the event that was triggered by entering an endstate. More...
 
void inheritInputParameters ()
 
bool init (StatechartContextInterface *context, StatechartManager *manager)
 Function to initialize this state. Must be called in the highest level of the hierarchy - and only there. More...
 
virtual bool isInitialized () const
 Returns the status of this state. Only if a state is initialized, it can be used. More...
 
bool isParameterSet (const StateParameterMap &paramMap, const std::string &key) const
 
virtual void onBreak ()
 Virtual function, in which the behaviour of state is defined, when it is abnormally exited. Can be overridden, but it is optional.
An abnormal exit only occurs in hierarchy-levels greater 1.
When a parent state is left before the substates are finished, the OnBreak()-function is called in the active substate and in all it's active substates.
If this function is not implemented, the normal OnExit()-function is called.
More...
 
virtual void onEnter ()
 Virtual function, in which the behaviour of state is defined, when it is entered.
Can be overridden, but it is optional. More...
 
virtual void onExit ()
 Virtual function, in which the behaviour of state is defined, when it is exited. Can be overridden, but it is optional. More...
 
StateBaseoperator= (const StateBase &source)
 
virtual void refetchSubstates ()
 This functions updates the substates. More...
 
void reset ()
 Function to reset the state: clear name, clear substatesList, clear transition etc. More...
 
void setContext (StatechartContextInterface *context)
 
void setInitialized (bool enable)
 
void setParameter (StateParameterMap &paramMap, const std::string &key, const Variant &variant)
 
void setParameterContainer (StateParameterMap &paramMap, const std::string &key, const VariantContainerBase &valueContainer)
 
void setParameterContainer (StateParameterMap &paramMap, const std::string &key, const VariantContainerBasePtr &valueContainer)
 
void setStateClassName (std::string className)
 setStateClassName() sets the string, that contains a stringrepresentation of this class. Should not be called usually. The classname gets automatically set in the constructor of the derived class StateTemplate<T>. More...
 
void setStatePhase (StatePhase newPhase)
 
 StateBase ()
 
 StateBase (const StateBase &source)
 
virtual bool waitForInitialization (int timeoutMS=-1) const
 
 ~StateBase () override
 
- 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 StatechartContext
ChannelRefPtr getChannelRef (const std::string &observerName, const std::string &channelName) override
 
DatafieldRefPtr getDatafieldRef (ChannelRefPtr channelRef, const std::string &datafieldName) override
 
DatafieldRefPtr getDatafieldRef (const DataFieldIdentifier &datafieldIdentifier) override
 
VariantBasePtr getDataFromObserver (const DataFieldIdentifierBasePtr &identifier) override
 
TimedVariantBaseList getDataListFromObserver (std::string observerName, const DataFieldIdentifierBaseList &identifierList) override
 
void setAutoEnterToplevelState (bool autoEnter)
 setAutoStartStatechart controls whether the toplevelstate is automatically entered, when the statechart manager is started, More...
 
void setReportingTopic (std::string reportingTopic)
 
bool setToplevelState (const armarx::StatePtr &newToplevelState, StringVariantContainerBaseMap startParameters=StringVariantContainerBaseMap())
 setToplevelState initializes newToplevelState with the current StatechartContext and the current StatechartContext::statechartManager and sets newToplevelState as top-level state on the current StatechartContext::statechartManager. More...
 
void startStatechart ()
 startStatechart actives both, the toplevel startchart stored in the variable statechart and the StatechartManager for handling eventprocessing. More...
 
 StatechartContext ()
 
 ~StatechartContext () override
 
- 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< PropertyUserPtrgetAdditionalPropertyUsers () 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...
 
virtual std::string getDefaultName () const =0
 Retrieve default name of component. 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 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< TgetPropertyAsCSV (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
 
- Public Member Functions inherited from StatechartContextInterface
virtual ~StatechartContextInterface ()=default
 

Public Attributes

StateBasePtr robotFunctionalState
 Refernce to the currently active Functionsl state. More...
 
- Public Attributes inherited from RemoteStateOffererBase
std::string componentName
 
std::map< int, RemoteStateDatastateInstanceList
 Holds the instances that where requested from remotely located states. More...
 
HiddenTimedMutex stateInstanceListMutex
 
- Public Attributes inherited from StateController
std::unique_ptr< Implcimpl
 
- Public Attributes inherited from StateBase
std::unique_ptr< Implimpl
 
- Public Attributes inherited from StatechartContext
ConditionHandlerInterfacePrx conditionHandlerPrx
 
StatechartEventDistributorPtr eventDistributor
 The EventListenerInterface instance, that receives events from observers and redirects them to the correct states. More...
 
std::unordered_map< std::string, ObserverInterfacePrx > observerMap
 
StatechartManagerPtr statechartManager
 
SystemObserverInterfacePrx systemObserverPrx
 

Additional Inherited Members

- Public Types inherited from StateController
using transitionFunction = std::function< void(StateController *state, const StateIceBasePtr &nextState, const StateIceBasePtr &previousState)>
 
using TransitionFunctionMap = std::map< std::string, transitionFunction >
 
- Public Types inherited from StateBase
enum  StatePhase {
  ePreDefined, eStatechartDefinitions, eSubstatesDefinitions, eParametersDefinitions,
  eDefined, eEntering, eEntered, eBreaking,
  eExiting, eExited
}
 enum that specifies the phase in which the state is currently in used to control the usage of state-functions in the correct context More...
 
- Public Types inherited from ManagedIceObject
using PeriodicTaskPtr = IceUtil::Handle< SimplePeriodicTask< std::function< void(void)> >>
 
- Static Public Member Functions inherited from StateBase
static std::vector< StateBasePtrGetActiveStateLeafs (StateBasePtr toplevelState)
 
- 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 Member Functions inherited from State
Stateoperator= (const State &source)
 
 State ()
 
 State (const State &source)
 
 ~State () override
 
- Protected Member Functions inherited from StateUtility
ConditionIdentifier installCondition (const Term &condition, const EventPtr evt, const std::string &desc="")
 Utility function to install a condition on the distributed conditionhandler. More...
 
template<class Eventclass >
ConditionIdentifier installCondition (const Term &condition, const std::string &desc="")
 Utility function to install a condition on the distributed conditionhandler. More...
 
void removeCondition (ConditionIdentifier conditionId)
 Utility function to remove an installed condition on the distributed conditionhandler. More...
 
void removeCounterEvent (const ActionEventIdentifier &id)
 
void removeTimeoutEvent (const ActionEventIdentifier &id)
 
void sendEvent (const EventPtr event, StateBasePtr eventProcessor=nullptr)
 Function to send an event to a specific state from an onEnter()-function. Must not be called anywhere else. The event is processed after the onEnter()-function of this and all initial substates have returned.
Use of this function should be avoided since this statemachine is blocked until this event and all subsequent sendEvents() are processed. More...
 
template<class Event >
void sendEvent (StateBasePtr eventProcessor=nullptr)
 
ActionEventIdentifier setCounterEvent (int counterThreshold, const EventPtr &evt, int initialValue=0)
 
template<class Eventclass >
ActionEventIdentifier setCounterEvent (int counterThreshold, int initialValue=0)
 
template<class Eventclass >
ActionEventIdentifier setTimeoutEvent (int timeoutDurationMs)
 
ActionEventIdentifier setTimeoutEvent (int timeoutDurationMs, const EventPtr &evt)
 Utility function to start a timer on the systemObserver and register an event on the conditionHandler. The condition is automatically removed, when the state is left. More...
 
- Protected Member Functions inherited from Logging
bool checkLogLevel (MessageTypeT level) const
 
const LogSenderPtrgetLogSender () const
 Retrieve log sender. More...
 
LogSenderPtr loghelper (const char *file, int line, const char *function) const
 
- Protected Member Functions inherited from StatechartContext
virtual void onConnectStatechartContext ()
 onConnectStatechartContext can be implemented by subclasses More...
 
virtual void onInitStatechartContext ()
 onInitStatechartonInitStatechartContext can be implemented by subclasses More...
 
- 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 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 Attributes inherited from Logging
MessageTypeT minimumLoggingLevel
 
SpamFilterDataPtr spamFilter
 
LogTag tag
 
- Protected Attributes inherited from StatechartContext
bool autoEnterToplevelState
 
std::string reportingTopic
 
Profiler::ProfilerPtr stateReporter
 

Detailed Description

RobotControl is used for dynamically loading and starting robot programs.

The toplevel state Statechart_Robot describes the basic operational levels of the robot.

The behavior of the functional state is described in StateRobotControl

Definition at line 59 of file RobotControl.h.

Member Function Documentation

◆ createPropertyDefinitions()

PropertyDefinitionsPtr createPropertyDefinitions ( )
overridevirtual
See also
PropertyUser::createPropertyDefinitions()

Reimplemented from StatechartContext.

Definition at line 67 of file RobotControl.cpp.

+ Here is the call graph for this function:

◆ getStateOffererName()

std::string getStateOffererName ( ) const
inlineoverridevirtual

Implement this function to specify the RemoteStateOfferer prefix.

Note
Do not override getDefaultName()!

Implements RemoteStateOffererBase.

Definition at line 69 of file RobotControl.h.

◆ hardReset()

void hardReset ( const Ice::Current &  = Ice::emptyCurrent)
override

Definition at line 61 of file RobotControl.cpp.

+ Here is the call graph for this function:

◆ onConnectRemoteStateOfferer()

void onConnectRemoteStateOfferer ( )
overridevirtual

Virtual function, in which the user can fetch some proxies.

Reimplemented from RemoteStateOffererBase.

Definition at line 38 of file RobotControl.cpp.

+ Here is the call graph for this function:

◆ onExitRemoteStateOfferer()

void onExitRemoteStateOfferer ( )
overridevirtual

Virtual function, in which the user can implement some clean up.

Reimplemented from RemoteStateOffererBase.

Definition at line 43 of file RobotControl.cpp.

+ Here is the call graph for this function:

◆ onInitRemoteStateOfferer()

void onInitRemoteStateOfferer ( )
overridevirtual

Pure virtual function, in which the states must be added, that should be remote-accessable.

Implements RemoteStateOffererBase.

Definition at line 33 of file RobotControl.cpp.

◆ startRobotStatechart()

void startRobotStatechart ( )

Definition at line 52 of file RobotControl.cpp.

+ Here is the caller graph for this function:

Member Data Documentation

◆ robotFunctionalState

StateBasePtr robotFunctionalState

Refernce to the currently active Functionsl state.

Definition at line 67 of file RobotControl.h.


The documentation for this class was generated from the following files: