|
This Module manages the ControlThread. More...
#include <RobotAPI/components/units/RobotUnit/RobotUnitModules/RobotUnitModuleControlThread.h>
Public Member Functions | |
std::thread::id | getControlThreadId () const |
Teturns he ControlThread's thread id. More... | |
EmergencyStopState | getEmergencyStopState () const |
Returns the ControlThread's target EmergencyStopState. More... | |
EmergencyStopState | getRtEmergencyStopState () const |
Returns the ControlThread's EmergencyStopState. More... | |
void | setEmergencyStopState (EmergencyStopState state) |
Sets the EmergencyStopState. More... | |
![]() | |
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... | |
![]() | |
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... | |
![]() | |
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) |
![]() | |
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 () |
![]() | |
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 ControlThread & | Instance () |
Returns the singleton instance of this class. More... | |
![]() | |
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... | |
![]() | |
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 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) |
Protected Types | |
enum | SwitchControllerMode { RTThread, IceRequests } |
![]() | |
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 | |
void | rtDeactivateAssignedNJointControllerBecauseOfError (std::size_t ctrlDevIndex) |
Searches for the NJointControllerBase responsible for the given JointController and deactivates it. More... | |
virtual void | rtDeactivatedNJointControllerBecauseOfError (const NJointControllerBasePtr &) |
Hook for deriving classes (called AFTER a NJointControllerBase is deactivated due to an error) More... | |
void | rtDeactivateNJointControllerBecauseOfError (std::size_t nJointCtrlIndex) |
Deactivates a NJointControllerBase and sets all used ControlDevices to EmergencyStop. More... | |
const std::vector< ControlDevicePtr > & | rtGetControlDevices () const |
Returns all ControlDevices. More... | |
EmergencyStopState | rtGetEmergencyStopState () const |
Returns the ControlThread's emergency stop state. More... | |
const VirtualRobot::RobotPtr & | rtGetRobot () const |
Returns the simox robot used in the control thread. More... | |
const std::vector< SensorDevicePtr > & | rtGetSensorDevices () |
Returns all SensorDevices. More... | |
RTThreadTimingsSensorDevice & | rtGetThreadTimingsSensorDevice () |
Returns the RTThreadTimingsSensorDevice. More... | |
void | rtHandleInvalidTargets () |
Deactivates all NJointControllers generating invalid targets. More... | |
bool | rtIsInEmergencyStop () const |
Returns whether the rt thread is in emergency stop. More... | |
virtual void | rtPostReadSensorDeviceValues (const IceUtil::Time &sensorValuesTimestamp, const IceUtil::Time &timeSinceLastIteration) |
Execute code after updating the sensor values. More... | |
void | rtReadSensorDeviceValues (const IceUtil::Time &sensorValuesTimestamp, const IceUtil::Time &timeSinceLastIteration) |
Calls SensorDevice::rtReadSensorValues for all SensorDevices. More... | |
void | rtResetAllTargets () |
Calls JointController::rtResetTarget for all active Joint controllers. More... | |
void | rtRunJointControllers (const IceUtil::Time &sensorValuesTimestamp, const IceUtil::Time &timeSinceLastIteration) |
Runs Joint controllers and writes target values to ControlDevices. More... | |
void | rtRunNJointControllers (const IceUtil::Time &sensorValuesTimestamp, const IceUtil::Time &timeSinceLastIteration) |
Runs NJoint controllers. More... | |
void | rtSetEmergencyStopState (EmergencyStopState state) |
Set an EmergencyStopState request. More... | |
void | rtSetJointController (JointController *c, std::size_t index) |
Activate a joint controller from the rt loop (only works in switch mode RTThread) More... | |
void | rtSetRobotGlobalPose (const Eigen::Matrix4f &gp, bool updateRobot=true) |
bool | rtSwitchControllerSetup (SwitchControllerMode mode=SwitchControllerMode::IceRequests) |
Changes the set of active controllers. More... | |
void | rtUpdateRobotGlobalPose () |
void | rtUpdateSensorAndControlBuffer (const IceUtil::Time &sensorValuesTimestamp, const IceUtil::Time &timeSinceLastIteration) |
Updates the current SensorValues and ControlTargets for code running outside of the ControlThread. More... | |
![]() | |
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 |
![]() | |
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... | |
![]() | |
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 | |
![]() | |
bool | checkLogLevel (MessageTypeT level) const |
const LogSenderPtr & | getLogSender () const |
Retrieve log sender. More... | |
LogSenderPtr | loghelper (const char *file, int line, const char *function) const |
Friends | |
class | ControlThreadAttorneyForPublisher |
This class allows minimal access to private members of ControlThread in a sane fashion for Publisher. More... | |
class | ControlThreadAttorneyForRobotUnitEmergencyStopMaster |
This class allows minimal access to private members of ControlThread in a sane fashion for RobotUnitEmergencyStopMaster. More... | |
class | ModuleBase |
Additional Inherited Members | |
![]() | |
using | PeriodicTaskPtr = IceUtil::Handle< SimplePeriodicTask< std::function< void(void)> >> |
![]() | |
static const ManagedIceObjectPtr | NullPtr |
A nullptr to be used when a const ref to a nullptr is required. More... | |
![]() | |
static constexpr std::size_t | IndexSentinel () |
Returns a sentinel value for an index (std::numeric_limits<std::size_t>::max()) More... | |
![]() | |
MessageTypeT | minimumLoggingLevel |
SpamFilterDataPtr | spamFilter |
LogTag | tag |
This Module manages the ControlThread.
It offers the basic functions called in the ControlThread.
Definition at line 83 of file RobotUnitModuleControlThread.h.
|
strongprotected |
Enumerator | |
---|---|
RTThread | This modus is used if the RTThread is supported to control which controllers are running. (e.g. for Calibrating) |
IceRequests |
Definition at line 94 of file RobotUnitModuleControlThread.h.
|
inline |
Teturns he ControlThread's thread id.
Definition at line 154 of file RobotUnitModuleControlThread.h.
EmergencyStopState getEmergencyStopState | ( | ) | const |
Returns the ControlThread's target EmergencyStopState.
Definition at line 1015 of file RobotUnitModuleControlThread.cpp.
EmergencyStopState getRtEmergencyStopState | ( | ) | const |
Returns the ControlThread's EmergencyStopState.
Definition at line 1023 of file RobotUnitModuleControlThread.cpp.
|
inlinestatic |
Returns the singleton instance of this class.
Definition at line 110 of file RobotUnitModuleControlThread.h.
|
protected |
Searches for the NJointControllerBase responsible for the given JointController and deactivates it.
Does not commit the new set of activated controllers)
ctrlDevIndex | The control device index causing the problem. |
Definition at line 838 of file RobotUnitModuleControlThread.cpp.
|
inlineprotectedvirtual |
Hook for deriving classes (called AFTER a NJointControllerBase is deactivated due to an error)
This is useful when two Control devices can be controlled by different NJointControllers but either both or none have to be controlled.
Since this hook is called after the controller with an error was deactivated an other call to rtDeactivateAssignedNJointControllerBecauseOfError can't lead to a cyclic execution.
Definition at line 248 of file RobotUnitModuleControlThread.h.
|
protected |
Deactivates a NJointControllerBase and sets all used ControlDevices to EmergencyStop.
Does not commit the new set of activated controllers)
nJointCtrlIndex | The NJointControllerBase to deactivate (index in controllersActivated) |
Definition at line 769 of file RobotUnitModuleControlThread.cpp.
|
protected |
Returns all ControlDevices.
Definition at line 894 of file RobotUnitModuleControlThread.cpp.
|
inlineprotected |
Returns the ControlThread's emergency stop state.
(This function is for use in the ControlThread)
Definition at line 292 of file RobotUnitModuleControlThread.h.
|
inlineprotected |
Returns the simox robot used in the control thread.
Definition at line 181 of file RobotUnitModuleControlThread.h.
|
protected |
Returns all SensorDevices.
Definition at line 900 of file RobotUnitModuleControlThread.cpp.
|
protected |
Returns the RTThreadTimingsSensorDevice.
Definition at line 906 of file RobotUnitModuleControlThread.cpp.
|
protected |
Deactivates all NJointControllers generating invalid targets.
Definition at line 511 of file RobotUnitModuleControlThread.cpp.
|
inlineprotected |
Returns whether the rt thread is in emergency stop.
(This function is for use in the ControlThread)
Definition at line 282 of file RobotUnitModuleControlThread.h.
|
protectedvirtual |
Execute code after updating the sensor values.
Default implementation calculates the inverse dynamics.
sensorValuesTimestamp | Timestamp of the current SensorValueBase SensorValues |
timeSinceLastIteration | Time between the last two updates of SensorValueBase SensorValues |
Definition at line 555 of file RobotUnitModuleControlThread.cpp.
|
protected |
Calls SensorDevice::rtReadSensorValues for all SensorDevices.
sensorValuesTimestamp | Timestamp of the current SensorValueBase SensorValues |
timeSinceLastIteration | Time between the last two updates of SensorValueBase SensorValues |
Definition at line 534 of file RobotUnitModuleControlThread.cpp.
|
protected |
Calls JointController::rtResetTarget for all active Joint controllers.
Definition at line 500 of file RobotUnitModuleControlThread.cpp.
|
protected |
Runs Joint controllers and writes target values to ControlDevices.
sensorValuesTimestamp | Timestamp of the current SensorValueBase SensorValues |
timeSinceLastIteration | Time between the last two updates of SensorValueBase SensorValues |
Definition at line 568 of file RobotUnitModuleControlThread.cpp.
|
protected |
Runs NJoint controllers.
sensorValuesTimestamp | Timestamp of the current SensorValueBase SensorValues |
timeSinceLastIteration | Time between the last two updates of SensorValueBase SensorValues |
Definition at line 580 of file RobotUnitModuleControlThread.cpp.
|
protected |
Set an EmergencyStopState request.
This request will be executed by the Publisher
state | The EmergencyStopState to set |
Definition at line 912 of file RobotUnitModuleControlThread.cpp.
|
protected |
Activate a joint controller from the rt loop (only works in switch mode RTThread)
Definition at line 1237 of file RobotUnitModuleControlThread.cpp.
|
protected |
Definition at line 1231 of file RobotUnitModuleControlThread.cpp.
|
protected |
Changes the set of active controllers.
Changes can be caused by a new set of requested controllers or emergency stop
Definition at line 293 of file RobotUnitModuleControlThread.cpp.
|
protected |
Definition at line 1210 of file RobotUnitModuleControlThread.cpp.
|
protected |
Updates the current SensorValues and ControlTargets for code running outside of the ControlThread.
sensorValuesTimestamp | Timestamp of the current SensorValueBase SensorValues |
timeSinceLastIteration | Time between the last two updates of SensorValueBase SensorValues |
Definition at line 855 of file RobotUnitModuleControlThread.cpp.
void setEmergencyStopState | ( | EmergencyStopState | state | ) |
Sets the EmergencyStopState.
state | The EmergencyStopState to set |
Definition at line 1008 of file RobotUnitModuleControlThread.cpp.
|
friend |
This class allows minimal access to private members of ControlThread in a sane fashion for Publisher.
Definition at line 413 of file RobotUnitModuleControlThread.h.
|
friend |
This class allows minimal access to private members of ControlThread in a sane fashion for RobotUnitEmergencyStopMaster.
Definition at line 418 of file RobotUnitModuleControlThread.h.
|
friend |
Definition at line 85 of file RobotUnitModuleControlThread.h.