|
Brief description of class NJointKeypointsImpedanceMPController. More...
#include <armarx/control/njoint_mp_controller/task_space/KeypointsImpedanceController.h>
Public Member Functions | |
void | additionalTask () override |
std::string | getClassName (const Ice::Current &) const override |
NJointKeypointsImpedanceMPController (const RobotUnitPtr &robotUnit, const NJointControllerConfigPtr &config, const VirtualRobot::RobotPtr &) | |
void | reconfigureController (const std::string &filename, const Ice::Current &) override |
void | rtPreActivateController () override |
This function is called before the controller is activated. More... | |
Public Member Functions inherited from NJointKeypointsImpedanceController | |
::armarx::aron::data::dto::DictPtr | getConfig (const Ice::Current &iceCurrent=Ice::emptyCurrent) override |
NJointKeypointsImpedanceController (const RobotUnitPtr &robotUnit, const NJointControllerConfigPtr &config, const VirtualRobot::RobotPtr &) | |
void | rtRun (const IceUtil::Time &sensorValuesTimestamp, const IceUtil::Time &timeSinceLastIteration) override |
TODO make protected and use attorneys. More... | |
void | updateConfig (const ::armarx::aron::data::dto::DictPtr &dto, const Ice::Current &iceCurrent=Ice::emptyCurrent) override |
NJointController interface. More... | |
void | validateConfigData (BO &config) |
Public Member Functions inherited from SynchronousNJointController | |
virtual void | rtSwapBufferAndRun (const IceUtil::Time &sensorValuesTimestamp, const IceUtil::Time &timeSinceLastIteration) |
Public Member Functions inherited from NJointControllerBase | |
void | activateController (const Ice::Current &=Ice::emptyCurrent) final override |
void | callDescribedFunction (const std::string &, const StringVariantBaseMap &, const Ice::Current &=Ice::emptyCurrent) override |
void | deactivateAndDeleteController (const Ice::Current &=Ice::emptyCurrent) final override |
void | deactivateController (const Ice::Current &=Ice::emptyCurrent) final override |
void | deleteController (const Ice::Current &=Ice::emptyCurrent) final override |
const std::map< std::string, const JointController * > & | getControlDevicesUsedJointController () |
const std::vector< char > & | getControlDeviceUsedBitmap () const |
StringStringDictionary | getControlDeviceUsedControlModeMap (const Ice::Current &=Ice::emptyCurrent) const final override |
const std::vector< std::size_t > & | getControlDeviceUsedIndices () const |
NJointControllerDescription | getControllerDescription (const Ice::Current &=Ice::emptyCurrent) const final override |
NJointControllerDescriptionWithStatus | getControllerDescriptionWithStatus (const Ice::Current &=Ice::emptyCurrent) const final override |
NJointControllerStatus | getControllerStatus (const Ice::Current &=Ice::emptyCurrent) const final override |
WidgetDescription::StringWidgetDictionary | getFunctionDescriptions (const Ice::Current &=Ice::emptyCurrent) const override |
std::string | getInstanceName (const Ice::Current &=Ice::emptyCurrent) const final override |
bool | hasControllerError (const Ice::Current &=Ice::emptyCurrent) const final override |
bool | isControllerActive (const Ice::Current &=Ice::emptyCurrent) const final override |
bool | isControllerRequested (const Ice::Current &=Ice::emptyCurrent) const final override |
bool | isDeletable (const Ice::Current &=Ice::emptyCurrent) const final override |
std::optional< std::vector< char > > | isNotInConflictWith (const NJointControllerBasePtr &other) const |
std::optional< std::vector< char > > | isNotInConflictWith (const std::vector< char > &used) const |
NJointControllerBase () | |
ConstControlDevicePtr | peekControlDevice (const std::string &deviceName) const |
Get a const ptr to the given ControlDevice. More... | |
ConstSensorDevicePtr | peekSensorDevice (const std::string &deviceName) const |
Get a const ptr to the given SensorDevice. More... | |
const std::string & | rtGetClassName () const |
Returns the class name. More... | |
const std::vector< std::size_t > & | rtGetControlDeviceUsedIndices () const |
Returns the indices of all ControlDevice's this NJointControllerBase calculates a ControlTarget for. More... | |
bool | rtGetErrorState () const |
Sets the error state to true. More... | |
const std::string & | rtGetInstanceName () const |
Returns the instance name. More... | |
std::size_t | rtGetNumberOfUsedControlDevices () const |
Returns the number of used ControlDevices. More... | |
const VirtualRobot::RobotPtr & | rtGetRobot () |
TODO make protected and use attorneys. More... | |
const std::vector< VirtualRobot::RobotNodePtr > & | rtGetRobotNodes () |
Returns the nodes of the virtual robot used by this NJointControllerBase in the rtRun. More... | |
bool | rtUsesControlDevice (std::size_t deviceIndex) const |
Returns whether this NJointControllerBase calculates a ControlTarget for the given ControlDevice. More... | |
ControlTargetBase * | useControlTarget (const std::string &deviceName, const std::string &controlMode) |
Declares to calculate the ControlTarget for the given ControlDevice in the given ControlMode when rtRun is called. More... | |
template<class T > | |
T * | useControlTarget (const std::string &deviceName, const std::string &controlMode) |
Declares to calculate the ControlTarget for the given ControlDevice in the given ControlMode when rtRun is called. More... | |
template<class T > | |
const T * | useSensorValue (const std::string &deviceName) const |
Get a const ptr to the given SensorDevice's SensorValue. More... | |
const SensorValueBase * | useSensorValue (const std::string &sensorDeviceName) const |
Get a const ptr to the given SensorDevice's SensorValue. More... | |
const VirtualRobot::RobotPtr & | useSynchronizedRtRobot (bool updateCollisionModel=false) |
Requests a VirtualRobot for use in rtRun *. More... | |
~NJointControllerBase () override | |
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 MPPool | |
void | createMPs (const MPListConfig &mpListConfig) |
DVec | deserialize (const std::string &, const Ice::Current &iceCurrent=Ice::emptyCurrent) override |
Ice::Double | getCanVal (const std::string &mpName, const Ice::Current &iceCurrent=Ice::emptyCurrent) override |
::armarx::aron::data::dto::DictPtr | getMPConfig (const Ice::Current &iceCurrent=Ice::emptyCurrent) override |
config More... | |
bool | getMPEnabled (const Ice::Current &) override |
std::string | getNames (const Ice::Current &iceCurrent=Ice::emptyCurrent) override |
Interface functions. More... | |
bool | isFinished (const std::string &mpName="all", const Ice::Current &iceCurrent=Ice::emptyCurrent) override |
bool | isFinishedAll (const Ice::Current &iceCurrent=Ice::emptyCurrent) override |
void | learnFromCSV (const Ice::StringSeq &fileNames=std::vector< std::string >(), const Ice::Current &iceCurrent=Ice::emptyCurrent) override |
setting More... | |
void | learnFromTrajs (const ::armarx::aron::data::dto::DictPtr &dto, const Ice::Current &iceCurrent=Ice::emptyCurrent) override |
MPPool () | |
void | pause (const std::string &mpName="all", const Ice::Current &iceCurrent=Ice::emptyCurrent) override |
void | pauseAll (const Ice::Current &iceCurrent=Ice::emptyCurrent) override |
void | reconfigureMPs (const MPListConfig &mpListConfig) |
void | removeAllViaPoint (const Ice::Current &iceCurrent=Ice::emptyCurrent) override |
void | reset (const std::string &mpName="all", const Ice::Current &iceCurrent=Ice::emptyCurrent) override |
void | resetAll (const Ice::Current &iceCurrent=Ice::emptyCurrent) override |
bool | resetMPs (const ::armarx::aron::data::dto::DictPtr &dto, const std::map< std::string, VirtualRobot::RobotNodeSetPtr > &rnsMap) |
void | resume (const std::string &mpName="all", const Ice::Current &iceCurrent=Ice::emptyCurrent) override |
void | resumeAll (const Ice::Current &iceCurrent=Ice::emptyCurrent) override |
void | runMPs (const bool rtSafe) |
std::string | serialize (const Ice::Current &iceCurrent=Ice::emptyCurrent) override |
serialize More... | |
void | set (const ::armarx::StringDoubleSeqMap &, const ::armarx::StringDoubleSeqMap &, const ::armarx::StringDoubleMap &, const ::Ice::Current &iceCurrent=::Ice::emptyCurrent) override |
void | setGoal (const DVec &goals, const Ice::Current &iceCurrent=Ice::emptyCurrent) override |
void | setStartAndGoal (const DVec &starts, const DVec &goals, const Ice::Current &iceCurrent=Ice::emptyCurrent) override |
void | setViaPoint (Ice::Double u, const DVec &viapoint, const Ice::Current &iceCurrent=Ice::emptyCurrent) override |
void | start (const std::string &mpName="all", const DVec &startVec=std::vector< double >(), const DVec &goalVec=std::vector< double >(), Ice::Double timeDuration=-1.0, const Ice::Current &iceCurrent=Ice::emptyCurrent) override |
control More... | |
void | startAll (const Ice::Current &iceCurrent=Ice::emptyCurrent) override |
void | stop (const std::string &mpName="all", const Ice::Current &iceCurrent=Ice::emptyCurrent) override |
void | stopAll (const Ice::Current &iceCurrent=Ice::emptyCurrent) override |
void | trainMP (const Ice::Current &iceCurrent=Ice::emptyCurrent) override |
void | updateMPConfig (const ::armarx::aron::data::dto::DictPtr &dto, const Ice::Current &iceCurrent=Ice::emptyCurrent) override |
~MPPool () | |
Public Member Functions inherited from MPPoolInterface | |
Ice::DoubleSeq | deserialize (string mpAsString) |
double | getCanVal (string mpName) |
utilities More... | |
armarx::aron::data::dto::Dict | getMPConfig () |
bool | getMPEnabled () |
string | getNames () |
bool | isFinished (string mpName) |
bool | isFinishedAll () |
void | learnFromCSV (Ice::StringSeq fileNames) |
setting More... | |
void | learnFromTrajs (armarx::aron::data::dto::Dict config) |
void | pause (string mpName) |
void | pauseAll () |
void | removeAllViaPoint () |
void | reset (string mpName) |
void | resetAll () |
void | resume (string mpName) |
void | resumeAll () |
string | serialize () |
serialze More... | |
void | set (StringDoubleSeqMap startVec, StringDoubleSeqMap goalVec, StringDoubleMap durationSec) |
control More... | |
void | setGoal (Ice::DoubleSeq goals) |
void | setStartAndGoal (Ice::DoubleSeq starts, Ice::DoubleSeq goals) |
void | setViaPoint (double u, Ice::DoubleSeq viapoint) |
void | start (string mpName, Ice::DoubleSeq startVec, Ice::DoubleSeq goalVec, double durationSec) |
void | startAll () |
void | stop (string mpName) |
void | stopAll () |
void | trainMP () |
void | updateMPConfig (armarx::aron::data::dto::Dict config) |
config More... | |
Additional Inherited Members | |
Public Types inherited from NJointKeypointsImpedanceController | |
using | AronDTO = law::arondto::KeypointControllerConfig |
using | BO = law::KeypointsImpedanceController::Config |
using | ConfigPtrT = ConfigurableNJointControllerConfigPtr |
Public Types inherited from NJointControllerBase | |
using | ConfigPtrT = NJointControllerConfigPtr |
using | GenerateConfigDescriptionFunctionSignature = WidgetDescription::WidgetPtr(*)(const VirtualRobot::RobotPtr &, const std::map< std::string, ConstControlDevicePtr > &controlDevices, const std::map< std::string, ConstSensorDevicePtr > &sensorDevices) |
template<class ConfigPrtType > | |
using | GenerateConfigFromVariantsFunctionSignature = ConfigPrtType(*)(const StringVariantBaseMap &) |
Public Types inherited from ManagedIceObject | |
using | PeriodicTaskPtr = IceUtil::Handle< SimplePeriodicTask< std::function< void(void)> >> |
Static Public Member Functions inherited from NJointControllerBase | |
template<class ItT > | |
static std::optional< std::vector< char > > | AreNotInConflict (ItT first, ItT last) |
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 NJointControllerBase | |
static const NJointControllerBasePtr | NullPtr {nullptr} |
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 NJointKeypointsImpedanceController | |
void | onInitNJointController () override |
NJointControllerBase interface. More... | |
void | onPublish (const SensorAndControl &, const DebugDrawerInterfacePrx &, const DebugObserverInterfacePrx &) override |
void | rtPostDeactivateController () override |
This function is called after the controller is deactivated. More... | |
Protected Member Functions inherited from NJointControllerBase | |
std::string | getDefaultName () const override |
ThreadPoolPtr | getThreadPool () const |
void | onConnectComponent () final |
virtual void | onConnectNJointController () |
void | onDisconnectComponent () final |
virtual void | onDisconnectNJointController () |
void | onExitComponent () final |
virtual void | onExitNJointController () |
void | onInitComponent () final |
virtual void | onPublishActivation (const DebugDrawerInterfacePrx &, const DebugObserverInterfacePrx &) |
virtual void | onPublishDeactivation (const DebugDrawerInterfacePrx &, const DebugObserverInterfacePrx &) |
void | rtSetErrorState () |
Sets the error state to true. More... | |
template<typename Task > | |
void | runTask (const std::string &taskName, Task &&task) |
Executes a given task in a separate thread from the Application ThreadPool. 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 | preOnConnectComponent () |
virtual void | preOnDisconnectComponent () |
virtual void | preOnExitComponent () |
virtual void | preOnInitComponent () |
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 |
Protected Member Functions inherited from MPPool | |
void | reInitMPInputOutputData (const std::map< std::string, VirtualRobot::RobotNodeSetPtr > &rnsMap) |
Protected Attributes inherited from NJointKeypointsImpedanceController | |
TripleBuffer< BO > | bufferAdditionalTaskToUser |
TripleBuffer< law::RobotStatus > | bufferRtToAdditionalTask |
TripleBuffer< BO > | bufferUserToAdditionalTask |
set buffers More... | |
TripleBuffer< BO > | bufferUserToRt |
law::KeypointsImpedanceController | controller |
common::control_law::ControlTarget | controlTargets |
std::vector< std::string > | jointNames |
std::string | kinematicChainName |
variables More... | |
VirtualRobot::RobotPtr | nonRtRobot |
std::atomic_bool | reInitPreActivate = false |
RobotUnitPtr | robotUnit |
std::atomic_bool | rtFirstRun = true |
std::atomic_bool | rtReady = false |
SensorDevices | sensorDevices |
std::vector< ControlTarget1DoFActuatorTorque * > | targets |
Protected Attributes inherited from NJointControllerBase | |
std::map< std::string, std::shared_ptr< ThreadPool::Handle > > | threadHandles |
std::mutex | threadHandlesMutex |
Protected Attributes inherited from Logging | |
MessageTypeT | minimumLoggingLevel |
SpamFilterDataPtr | spamFilter |
LogTag | tag |
Protected Attributes inherited from MPPool | |
std::atomic< bool > | isMPReady {false} |
MPListConfig | mpConfig |
this variable is only needed when constructing the MP instances, therefore you don't need to use triple buffers More... | |
std::map< std::string, MPInputOutput > | mps |
std::atomic_bool | mpTaskRunning {false} |
std::recursive_mutex | mtx_mps |
Brief description of class NJointKeypointsImpedanceMPController.
Detailed description of class NJointKeypointsImpedanceMPController.
Definition at line 47 of file KeypointsImpedanceController.h.
NJointKeypointsImpedanceMPController | ( | const RobotUnitPtr & | robotUnit, |
const NJointControllerConfigPtr & | config, | ||
const VirtualRobot::RobotPtr & | robot | ||
) |
Definition at line 30 of file KeypointsImpedanceController.cpp.
|
overridevirtual |
parse arguments and run mp
Reimplemented from NJointKeypointsImpedanceController.
Definition at line 52 of file KeypointsImpedanceController.cpp.
|
overridevirtual |
Reimplemented from NJointKeypointsImpedanceController.
Definition at line 40 of file KeypointsImpedanceController.cpp.
|
override |
Definition at line 45 of file KeypointsImpedanceController.cpp.
|
overridevirtual |
This function is called before the controller is activated.
You can use it to activate a thread again (DO NOT SPAWN NEW THREADS!) e.g. via a std::atomic_bool.
Reimplemented from NJointKeypointsImpedanceController.
Definition at line 101 of file KeypointsImpedanceController.cpp.