ANYdrive SDK
The SDK for interfacing ANYdrive.
anydrive_ros::AnydriveManagerRos Class Reference

#include <AnydriveManagerRos.hpp>

Inheritance diagram for anydrive_ros::AnydriveManagerRos:
Inheritance graph

Public Member Functions

 AnydriveManagerRos (const bool standalone, const bool installSignalHandler, const double timeStep, ros::NodeHandle &nh, const std::string &rosPrefix)
 
virtual ~AnydriveManagerRos ()
 
anydrive_msgs::Readings getReadingsMsg ()
 
anydrive_msgs::ReadingsExtended getReadingsExtendedMsg ()
 
sensor_msgs::JointState getJointStatesMsg ()
 
bool startup () override
 
void updateProcessReadings () override
 
void shutdown () override
 
void sendRos ()
 
- Public Member Functions inherited from anydrive::AnydriveManager
virtual bool update ()
 
virtual void updateCommunicationManagerReadMessages ()
 
virtual void updateStageCommands ()
 
virtual void updateSendStagedCommands ()
 
virtual void updateCommunicationManagerWriteMessages ()
 
bool isRunning () const
 
bool shutdownRequested () const
 
bool setGoalStatesEnum (const fsm::StateEnum goalStateEnum, const bool reachStates=false, const double timeout=5.0, const double checkingFrequency=100.0)
 
void clearGoalStatesEnum ()
 
bool allDevicesAreConnected () const
 
bool allDevicesAreInTheState (const fsm::StateEnum stateEnum) const
 
bool allDevicesAreInTheSameState (fsm::StateEnum &stateEnum) const
 
bool allDevicesAreInTheMode (const mode::ModeEnum modeEnum) const
 
bool allDevicesAreInTheSameMode (mode::ModeEnum &modeEnum) const
 
bool noDeviceIsInErrorState () const
 
bool noDeviceIsInFatalState () const
 
bool allDevicesAreWithinJointPositionLimitsSdk () const
 
bool allDevicesAreWithinJointPositionLimitsSoft () const
 
bool allDevicesAreWithinJointPositionLimitsHard () const
 
bool eraseFlashStorage ()
 
bool resetFlashStorageSections (const uint8_t flashStorageSections)
 
bool calibrate (const std::string &deviceName, const calibration::CalibrationModeEnum calibrationModeEnum, const bool gearAndJointEncoderHomingAbsolute=true, const double gearAndJointEncoderHomingNewJointPosition=0.0)
 
bool resetCustomCalibrationsToFactory (const calibration::CalibrationState calibrationState)
 
bool writeFactoryCalibration ()
 
bool setMaxCurrent (const double maxCurrent)
 
bool setMaxMotorVelocity (const double maxMotorVelocity)
 
bool setMaxJointTorque (const double maxJointTorque)
 
bool setCurrentIntegratorSaturation (const double saturation)
 
bool setJointTorqueIntegratorSaturation (const double saturation)
 
bool setDirection (const int16_t direction)
 
bool setJointPositionLimitsSdk (const common::Limits &limits)
 
bool setJointPositionLimitsSoft (const common::Limits &limits)
 
bool setJointPositionLimitsHard (const common::Limits &limits)
 
bool setControlGains (const mode::ModeEnum mode, const mode::PidGainsF &pidGains)
 
bool setErrorStateBehavior (const uint16_t errorStateBehavior)
 
bool writeConfiguration ()
 
void sendControlwords (const uint16_t controlwordId)
 
void stageDisables ()
 
void stageFreezes ()
 
void stageZeroJointTorques ()
 
void stageCommands (const std::vector< Command > &commands)
 
bool achieveJointPositionConfiguration (const std::string &configurationName)
 
bool achieveJointPositionConfigurationIsActive ()
 
void abortAchieveJointPositionConfiguration ()
 
std::vector< ReadingExtendedgetReadings () const
 
void getReadings (std::vector< ReadingExtended > &readings) const
 
void printInfo () const
 
 AnydriveManager (const bool standalone, const bool installSignalHandler, const double timeStep)
 
virtual ~AnydriveManager ()
 
void setTimeStep (const double timeStep)
 
double getTimeStep () const
 
void setCommunicationManager (const communication::CommunicationManagerBasePtr &communicationManager)
 
const communication::CommunicationManagerBasePtrgetCommunicationManager () const
 
JointPositionConfigurationManagergetJointPositionConfigurationManager ()
 
const JointPositionConfigurationManagergetJointPositionConfigurationManager () const
 
bool loadSetup (const std::string &setupFile="")
 
virtual setup::SetupPtr createSetup () const
 
bool loadSetup (const setup::SetupPtr &setup)
 
virtual bool addAnydrive (const AnydrivePtr &anydrive)
 
bool anydriveExists (const std::string &name) const
 
AnydrivePtr getAnydrive (const std::string &name) const
 
Anydrives getAnydrives () const
 
unsigned int getNumberOfAnydrives () const
 
void addReadingCb (const ReadingCb &readingCb, const int priority=0)
 
void addErrorCb (const ErrorCb &errorCb, const int priority=0)
 
void addErrorRecoveredCb (const ErrorRecoveredCb &errorRecoveredCb, const int priority=0)
 
void addFatalCb (const FatalCb &fatalCb, const int priority=0)
 
void addFatalRecoveredCb (const FatalRecoveredCb &fatalRecoveredCb, const int priority=0)
 
void addDeviceDisconnectedCb (const DeviceDisconnectedCb &deviceDisconnectedCb, const int priority=0)
 
void addDeviceReconnectedCb (const DeviceReconnectedCb &deviceReconnectedCb, const int priority=0)
 

Protected Member Functions

anydrive::AnydrivePtr createAnydrive () const override
 
void startupRosInterface ()
 Can throw an anydrive::Exception. More...
 
void shutdownRosInterface ()
 
bool publishWorkerCb (const any_worker::WorkerEvent &event)
 
void commandsCb (const anydrive_msgs::CommandsConstPtr &commandsMsg)
 
bool sendSdoReadCb (anydrive_msgs::SendSdoReadRequest &req, anydrive_msgs::SendSdoReadResponse &res)
 
bool sendSdoWriteCb (anydrive_msgs::SendSdoWriteRequest &req, anydrive_msgs::SendSdoWriteResponse &res)
 
bool getDriveInfoCb (anydrive_msgs::GetDriveInfoRequest &req, anydrive_msgs::GetDriveInfoResponse &res)
 
bool setDriveInfoSerialNumber (anydrive_msgs::SetDriveInfoStringRequest &req, anydrive_msgs::SetDriveInfoStringResponse &res)
 
bool setDriveInfoName (anydrive_msgs::SetDriveInfoStringRequest &req, anydrive_msgs::SetDriveInfoStringResponse &res)
 
bool setDriveInfoId (anydrive_msgs::SetDriveInfoUint16Request &req, anydrive_msgs::SetDriveInfoUint16Response &res)
 
bool setDriveInfoBootloaderVersion (anydrive_msgs::SetDriveInfoStringRequest &req, anydrive_msgs::SetDriveInfoStringResponse &res)
 
bool eraseFlashStorageCb (anydrive_msgs::EraseFlashStorageRequest &req, anydrive_msgs::EraseFlashStorageResponse &res)
 
bool resetFlashStorageSectionsCb (anydrive_msgs::ResetFlashStorageSectionsRequest &req, anydrive_msgs::ResetFlashStorageSectionsResponse &res)
 
bool getCalibrationStateCb (anydrive_msgs::GetCalibrationStateRequest &req, anydrive_msgs::GetCalibrationStateResponse &res)
 
bool calibrateCb (anydrive_msgs::CalibrateRequest &req, anydrive_msgs::CalibrateResponse &res)
 
bool resetCustomCalibrationsToFactoryCb (anydrive_msgs::ResetCustomCalibrationsToFactoryRequest &req, anydrive_msgs::ResetCustomCalibrationsToFactoryResponse &res)
 
bool writeFactoryCalibrationCb (anydrive_msgs::WriteFactoryCalibrationRequest &req, anydrive_msgs::WriteFactoryCalibrationResponse &res)
 
bool getMaxCurrentCb (anydrive_msgs::GetMaxCurrentRequest &req, anydrive_msgs::GetMaxCurrentResponse &res)
 
bool setMaxCurrentCb (anydrive_msgs::SetMaxCurrentRequest &req, anydrive_msgs::SetMaxCurrentResponse &res)
 
bool getMaxMotorVelocityCb (anydrive_msgs::GetMaxMotorVelocityRequest &req, anydrive_msgs::GetMaxMotorVelocityResponse &res)
 
bool setMaxMotorVelocityCb (anydrive_msgs::SetMaxMotorVelocityRequest &req, anydrive_msgs::SetMaxMotorVelocityResponse &res)
 
bool getDirectionCb (anydrive_msgs::GetDirectionRequest &req, anydrive_msgs::GetDirectionResponse &res)
 
bool setDirectionCb (anydrive_msgs::SetDirectionRequest &req, anydrive_msgs::SetDirectionResponse &res)
 
bool getJointPositionLimitsSdkCb (anydrive_msgs::GetJointPositionLimitsRequest &req, anydrive_msgs::GetJointPositionLimitsResponse &res)
 
bool setJointPositionLimitsSdkCb (anydrive_msgs::SetJointPositionLimitsRequest &req, anydrive_msgs::SetJointPositionLimitsResponse &res)
 
bool getJointPositionLimitsSoftCb (anydrive_msgs::GetJointPositionLimitsRequest &req, anydrive_msgs::GetJointPositionLimitsResponse &res)
 
bool setJointPositionLimitsSoftCb (anydrive_msgs::SetJointPositionLimitsRequest &req, anydrive_msgs::SetJointPositionLimitsResponse &res)
 
bool getJointPositionLimitsHardCb (anydrive_msgs::GetJointPositionLimitsRequest &req, anydrive_msgs::GetJointPositionLimitsResponse &res)
 
bool setJointPositionLimitsHardCb (anydrive_msgs::SetJointPositionLimitsRequest &req, anydrive_msgs::SetJointPositionLimitsResponse &res)
 
bool getControlGainsCb (anydrive_msgs::GetControlGainsRequest &req, anydrive_msgs::GetControlGainsResponse &res)
 
bool setControlGainsCb (anydrive_msgs::SetControlGainsRequest &req, anydrive_msgs::SetControlGainsResponse &res)
 
bool getErrorStateBehaviorCb (anydrive_msgs::GetErrorStateBehaviorRequest &req, anydrive_msgs::GetErrorStateBehaviorResponse &res)
 
bool setErrorStateBehaviorCb (anydrive_msgs::SetErrorStateBehaviorRequest &req, anydrive_msgs::SetErrorStateBehaviorResponse &res)
 
bool writeConfigurationCb (anydrive_msgs::WriteConfigurationRequest &req, anydrive_msgs::WriteConfigurationResponse &res)
 
bool setGoalStateCb (anydrive_msgs::SetFsmGoalStateRequest &req, anydrive_msgs::SetFsmGoalStateResponse &res)
 
bool sendControlwordCb (anydrive_msgs::SendControlwordRequest &req, anydrive_msgs::SendControlwordResponse &res)
 
bool achieveJointPositionConfigurationCb (anydrive_msgs::AchieveJointPositionConfigurationRequest &req, anydrive_msgs::AchieveJointPositionConfigurationResponse &res)
 
- Protected Member Functions inherited from anydrive::AnydriveManager
bool updateWorkerCb (const any_worker::WorkerEvent &event)
 
void requestShutdown ()
 
void handleSignal (const int signum)
 

Protected Attributes

ros::NodeHandle & nh_
 
std::string rosPrefix_
 
bool runCommandsSubscriber_ = true
 
bool runReadingsPublisher_ = true
 
bool runReadingsExtendedThrottledPublisher_ = true
 
unsigned int readingsExtendedThrottledPublisherCounter_ = 0
 
unsigned int readingsExtendedThrottledPublisherDecimation_ = 0
 
bool runJointStatesPublisher_ = true
 
bool runJointStatesThrottledPublisher_ = true
 
unsigned int jointStatesThrottledPublisherCounter_ = 0
 
unsigned int jointStatesThrottledPublisherDecimation_ = 0
 
ros::Subscriber commandsSubscriber_
 
any_node::ThreadedPublisherPtr< anydrive_msgs::Readings > readingsPublisher_
 
any_node::ThreadedPublisherPtr< anydrive_msgs::ReadingsExtended > readingsExtendedThrottledPublisher_
 
any_node::ThreadedPublisherPtr< sensor_msgs::JointState > jointStatesPublisher_
 
any_node::ThreadedPublisherPtr< sensor_msgs::JointState > jointStatesThrottledPublisher_
 
ros::Publisher availableJointPositionConfigurationsPublisher_
 
ros::ServiceServer sendSdoReadServer_
 
ros::ServiceServer sendSdoWriteServer_
 
ros::ServiceServer getDriveInfoServer_
 
ros::ServiceServer setDriveInfoSerialNumberServer_
 
ros::ServiceServer setDriveInfoNameServer_
 
ros::ServiceServer setDriveInfoIdServer_
 
ros::ServiceServer setDriveInfoBootloaderVersionServer_
 
ros::ServiceServer eraseFlashStorage_
 
ros::ServiceServer resetFlashStorageSections_
 
ros::ServiceServer getCalibrationStateServer_
 
ros::ServiceServer calibrateServer_
 
ros::ServiceServer resetCustomCalibrationsToFactoryServer_
 
ros::ServiceServer writeFactoryCalibrationServer_
 
ros::ServiceServer getMaxCurrentServer_
 
ros::ServiceServer setMaxCurrentServer_
 
ros::ServiceServer getMaxMotorVelocityServer_
 
ros::ServiceServer setMaxMotorVelocityServer_
 
ros::ServiceServer getJointPositionLimitsSdkServer_
 
ros::ServiceServer setJointPositionLimitsSdkServer_
 
ros::ServiceServer getJointPositionLimitsSoftServer_
 
ros::ServiceServer setJointPositionLimitsSoftServer_
 
ros::ServiceServer getJointPositionLimitsHardServer_
 
ros::ServiceServer setJointPositionLimitsHardServer_
 
ros::ServiceServer getControlGainsServer_
 
ros::ServiceServer setControlGainsServer_
 
ros::ServiceServer getErrorStateBehaviorServer_
 
ros::ServiceServer setErrorStateBehaviorServer_
 
ros::ServiceServer writeConfigurationServer_
 
ros::ServiceServer setGoalStateServer_
 
ros::ServiceServer sendControlwordServer_
 
ros::ServiceServer achieveJointPositionConfigurationServer_
 
std::recursive_mutex readingsMsgMutex_
 
std::atomic< bool > readingsMsgUpdated_
 
anydrive_msgs::Readings readingsMsg_
 
std::recursive_mutex readingsExtendedMsgMutex_
 
std::atomic< bool > readingsExtendedMsgUpdated_
 
anydrive_msgs::ReadingsExtended readingsExtendedMsg_
 
std::recursive_mutex jointStatesMsgMutex_
 
std::atomic< bool > jointStatesMsgUpdated_
 
sensor_msgs::JointState jointStatesMsg_
 
const unsigned int maxPublishMessageBufferSize_ = 10
 Publish options. More...
 
bool createPublishWorker_ = true
 
std::shared_ptr< any_worker::Worker > publishWorker_
 Publish worker. More...
 
std::mutex notifyPublishWorkerMutex_
 
std::atomic< uint64_t > publishCounter_
 
std::condition_variable notifyPublishWorkerCv_
 
std::atomic< bool > shutdownPublishWorkerRequested_
 
- Protected Attributes inherited from anydrive::AnydriveManager
bool standalone_ = true
 
bool installSignalHandler_ = true
 
std::shared_ptr< any_worker::Worker > updateWorker_
 Update worker. More...
 
double timeStep_ = 0.0
 Time step at which the update() function is called. More...
 
std::recursive_mutex isRunningMutex_
 Mutex instead of atomic_bool to block during starting up and shutting down procedures. More...
 
bool isRunning_ = false
 Flag indicating whether the manager is running. True between startup() and shutdown() calls. More...
 
std::atomic< bool > shutdownRequested_
 Flag indicating whether a shutdown has been requested. More...
 
communication::CommunicationManagerBasePtr communicationManager_
 Abstract communication manager. More...
 
Anydrives anydrives_
 List of ANYdrives. More...
 
calibration::routine::CalibrationBasePtr runningCalibration_
 Calibration which is currently running. More...
 
JointPositionConfigurationManager jointPositionConfigurationManager_
 Manager for commanding multiple ANYdrives to a given joint position configuration. More...
 

Additional Inherited Members

- Public Types inherited from anydrive::AnydriveManager
using Anydrives = std::vector< AnydrivePtr >
 ANYdrives container. More...
 
- Static Public Member Functions inherited from anydrive::AnydriveManager
static void SetProcessPriority (const int priority)
 

Constructor & Destructor Documentation

◆ AnydriveManagerRos()

anydrive_ros::AnydriveManagerRos::AnydriveManagerRos ( const bool  standalone,
const bool  installSignalHandler,
const double  timeStep,
ros::NodeHandle &  nh,
const std::string &  rosPrefix 
)

◆ ~AnydriveManagerRos()

anydrive_ros::AnydriveManagerRos::~AnydriveManagerRos ( )
virtual

Member Function Documentation

◆ achieveJointPositionConfigurationCb()

bool anydrive_ros::AnydriveManagerRos::achieveJointPositionConfigurationCb ( anydrive_msgs::AchieveJointPositionConfigurationRequest &  req,
anydrive_msgs::AchieveJointPositionConfigurationResponse &  res 
)
protected

◆ calibrateCb()

bool anydrive_ros::AnydriveManagerRos::calibrateCb ( anydrive_msgs::CalibrateRequest &  req,
anydrive_msgs::CalibrateResponse &  res 
)
protected

◆ commandsCb()

void anydrive_ros::AnydriveManagerRos::commandsCb ( const anydrive_msgs::CommandsConstPtr &  commandsMsg)
protected

◆ createAnydrive()

anydrive::AnydrivePtr anydrive_ros::AnydriveManagerRos::createAnydrive ( ) const
overrideprotectedvirtual

Create a new ANYdrive.

Returns
New ANYdrive.

Reimplemented from anydrive::AnydriveManager.

◆ eraseFlashStorageCb()

bool anydrive_ros::AnydriveManagerRos::eraseFlashStorageCb ( anydrive_msgs::EraseFlashStorageRequest &  req,
anydrive_msgs::EraseFlashStorageResponse &  res 
)
protected

◆ getCalibrationStateCb()

bool anydrive_ros::AnydriveManagerRos::getCalibrationStateCb ( anydrive_msgs::GetCalibrationStateRequest &  req,
anydrive_msgs::GetCalibrationStateResponse &  res 
)
protected

◆ getControlGainsCb()

bool anydrive_ros::AnydriveManagerRos::getControlGainsCb ( anydrive_msgs::GetControlGainsRequest &  req,
anydrive_msgs::GetControlGainsResponse &  res 
)
protected

◆ getDirectionCb()

bool anydrive_ros::AnydriveManagerRos::getDirectionCb ( anydrive_msgs::GetDirectionRequest &  req,
anydrive_msgs::GetDirectionResponse &  res 
)
protected

◆ getDriveInfoCb()

bool anydrive_ros::AnydriveManagerRos::getDriveInfoCb ( anydrive_msgs::GetDriveInfoRequest &  req,
anydrive_msgs::GetDriveInfoResponse &  res 
)
protected

◆ getErrorStateBehaviorCb()

bool anydrive_ros::AnydriveManagerRos::getErrorStateBehaviorCb ( anydrive_msgs::GetErrorStateBehaviorRequest &  req,
anydrive_msgs::GetErrorStateBehaviorResponse &  res 
)
protected

◆ getJointPositionLimitsHardCb()

bool anydrive_ros::AnydriveManagerRos::getJointPositionLimitsHardCb ( anydrive_msgs::GetJointPositionLimitsRequest &  req,
anydrive_msgs::GetJointPositionLimitsResponse &  res 
)
protected

◆ getJointPositionLimitsSdkCb()

bool anydrive_ros::AnydriveManagerRos::getJointPositionLimitsSdkCb ( anydrive_msgs::GetJointPositionLimitsRequest &  req,
anydrive_msgs::GetJointPositionLimitsResponse &  res 
)
protected

◆ getJointPositionLimitsSoftCb()

bool anydrive_ros::AnydriveManagerRos::getJointPositionLimitsSoftCb ( anydrive_msgs::GetJointPositionLimitsRequest &  req,
anydrive_msgs::GetJointPositionLimitsResponse &  res 
)
protected

◆ getJointStatesMsg()

sensor_msgs::JointState anydrive_ros::AnydriveManagerRos::getJointStatesMsg ( )

◆ getMaxCurrentCb()

bool anydrive_ros::AnydriveManagerRos::getMaxCurrentCb ( anydrive_msgs::GetMaxCurrentRequest &  req,
anydrive_msgs::GetMaxCurrentResponse &  res 
)
protected

◆ getMaxMotorVelocityCb()

bool anydrive_ros::AnydriveManagerRos::getMaxMotorVelocityCb ( anydrive_msgs::GetMaxMotorVelocityRequest &  req,
anydrive_msgs::GetMaxMotorVelocityResponse &  res 
)
protected

◆ getReadingsExtendedMsg()

anydrive_msgs::ReadingsExtended anydrive_ros::AnydriveManagerRos::getReadingsExtendedMsg ( )

◆ getReadingsMsg()

anydrive_msgs::Readings anydrive_ros::AnydriveManagerRos::getReadingsMsg ( )

◆ publishWorkerCb()

bool anydrive_ros::AnydriveManagerRos::publishWorkerCb ( const any_worker::WorkerEvent &  event)
protected

◆ resetCustomCalibrationsToFactoryCb()

bool anydrive_ros::AnydriveManagerRos::resetCustomCalibrationsToFactoryCb ( anydrive_msgs::ResetCustomCalibrationsToFactoryRequest &  req,
anydrive_msgs::ResetCustomCalibrationsToFactoryResponse &  res 
)
protected

◆ resetFlashStorageSectionsCb()

bool anydrive_ros::AnydriveManagerRos::resetFlashStorageSectionsCb ( anydrive_msgs::ResetFlashStorageSectionsRequest &  req,
anydrive_msgs::ResetFlashStorageSectionsResponse &  res 
)
protected

◆ sendControlwordCb()

bool anydrive_ros::AnydriveManagerRos::sendControlwordCb ( anydrive_msgs::SendControlwordRequest &  req,
anydrive_msgs::SendControlwordResponse &  res 
)
protected

◆ sendRos()

void anydrive_ros::AnydriveManagerRos::sendRos ( )

◆ sendSdoReadCb()

bool anydrive_ros::AnydriveManagerRos::sendSdoReadCb ( anydrive_msgs::SendSdoReadRequest &  req,
anydrive_msgs::SendSdoReadResponse &  res 
)
protected

◆ sendSdoWriteCb()

bool anydrive_ros::AnydriveManagerRos::sendSdoWriteCb ( anydrive_msgs::SendSdoWriteRequest &  req,
anydrive_msgs::SendSdoWriteResponse &  res 
)
protected

◆ setControlGainsCb()

bool anydrive_ros::AnydriveManagerRos::setControlGainsCb ( anydrive_msgs::SetControlGainsRequest &  req,
anydrive_msgs::SetControlGainsResponse &  res 
)
protected

◆ setDirectionCb()

bool anydrive_ros::AnydriveManagerRos::setDirectionCb ( anydrive_msgs::SetDirectionRequest &  req,
anydrive_msgs::SetDirectionResponse &  res 
)
protected

◆ setDriveInfoBootloaderVersion()

bool anydrive_ros::AnydriveManagerRos::setDriveInfoBootloaderVersion ( anydrive_msgs::SetDriveInfoStringRequest &  req,
anydrive_msgs::SetDriveInfoStringResponse &  res 
)
protected

◆ setDriveInfoId()

bool anydrive_ros::AnydriveManagerRos::setDriveInfoId ( anydrive_msgs::SetDriveInfoUint16Request &  req,
anydrive_msgs::SetDriveInfoUint16Response &  res 
)
protected

◆ setDriveInfoName()

bool anydrive_ros::AnydriveManagerRos::setDriveInfoName ( anydrive_msgs::SetDriveInfoStringRequest &  req,
anydrive_msgs::SetDriveInfoStringResponse &  res 
)
protected

◆ setDriveInfoSerialNumber()

bool anydrive_ros::AnydriveManagerRos::setDriveInfoSerialNumber ( anydrive_msgs::SetDriveInfoStringRequest &  req,
anydrive_msgs::SetDriveInfoStringResponse &  res 
)
protected

◆ setErrorStateBehaviorCb()

bool anydrive_ros::AnydriveManagerRos::setErrorStateBehaviorCb ( anydrive_msgs::SetErrorStateBehaviorRequest &  req,
anydrive_msgs::SetErrorStateBehaviorResponse &  res 
)
protected

◆ setGoalStateCb()

bool anydrive_ros::AnydriveManagerRos::setGoalStateCb ( anydrive_msgs::SetFsmGoalStateRequest &  req,
anydrive_msgs::SetFsmGoalStateResponse &  res 
)
protected

◆ setJointPositionLimitsHardCb()

bool anydrive_ros::AnydriveManagerRos::setJointPositionLimitsHardCb ( anydrive_msgs::SetJointPositionLimitsRequest &  req,
anydrive_msgs::SetJointPositionLimitsResponse &  res 
)
protected

◆ setJointPositionLimitsSdkCb()

bool anydrive_ros::AnydriveManagerRos::setJointPositionLimitsSdkCb ( anydrive_msgs::SetJointPositionLimitsRequest &  req,
anydrive_msgs::SetJointPositionLimitsResponse &  res 
)
protected

◆ setJointPositionLimitsSoftCb()

bool anydrive_ros::AnydriveManagerRos::setJointPositionLimitsSoftCb ( anydrive_msgs::SetJointPositionLimitsRequest &  req,
anydrive_msgs::SetJointPositionLimitsResponse &  res 
)
protected

◆ setMaxCurrentCb()

bool anydrive_ros::AnydriveManagerRos::setMaxCurrentCb ( anydrive_msgs::SetMaxCurrentRequest &  req,
anydrive_msgs::SetMaxCurrentResponse &  res 
)
protected

◆ setMaxMotorVelocityCb()

bool anydrive_ros::AnydriveManagerRos::setMaxMotorVelocityCb ( anydrive_msgs::SetMaxMotorVelocityRequest &  req,
anydrive_msgs::SetMaxMotorVelocityResponse &  res 
)
protected

◆ shutdown()

void anydrive_ros::AnydriveManagerRos::shutdown ( )
overridevirtual

Shutdown the ANYdrive Manager.

Reimplemented from anydrive::AnydriveManager.

◆ shutdownRosInterface()

void anydrive_ros::AnydriveManagerRos::shutdownRosInterface ( )
protected

◆ startup()

bool anydrive_ros::AnydriveManagerRos::startup ( )
overridevirtual

Start the ANYdrive Manager

Returns
True if successful.

Reimplemented from anydrive::AnydriveManager.

◆ startupRosInterface()

void anydrive_ros::AnydriveManagerRos::startupRosInterface ( )
protected

Can throw an anydrive::Exception.

◆ updateProcessReadings()

void anydrive_ros::AnydriveManagerRos::updateProcessReadings ( )
overridevirtual

Update step 2: Process the received readings. This includes updating the statusword and the state machine. Can be used instead of update() for more fine-grained control over the update procedure.

Reimplemented from anydrive::AnydriveManager.

◆ writeConfigurationCb()

bool anydrive_ros::AnydriveManagerRos::writeConfigurationCb ( anydrive_msgs::WriteConfigurationRequest &  req,
anydrive_msgs::WriteConfigurationResponse &  res 
)
protected

◆ writeFactoryCalibrationCb()

bool anydrive_ros::AnydriveManagerRos::writeFactoryCalibrationCb ( anydrive_msgs::WriteFactoryCalibrationRequest &  req,
anydrive_msgs::WriteFactoryCalibrationResponse &  res 
)
protected

Member Data Documentation

◆ achieveJointPositionConfigurationServer_

ros::ServiceServer anydrive_ros::AnydriveManagerRos::achieveJointPositionConfigurationServer_
protected

◆ availableJointPositionConfigurationsPublisher_

ros::Publisher anydrive_ros::AnydriveManagerRos::availableJointPositionConfigurationsPublisher_
protected

◆ calibrateServer_

ros::ServiceServer anydrive_ros::AnydriveManagerRos::calibrateServer_
protected

◆ commandsSubscriber_

ros::Subscriber anydrive_ros::AnydriveManagerRos::commandsSubscriber_
protected

◆ createPublishWorker_

bool anydrive_ros::AnydriveManagerRos::createPublishWorker_ = true
protected

◆ eraseFlashStorage_

ros::ServiceServer anydrive_ros::AnydriveManagerRos::eraseFlashStorage_
protected

◆ getCalibrationStateServer_

ros::ServiceServer anydrive_ros::AnydriveManagerRos::getCalibrationStateServer_
protected

◆ getControlGainsServer_

ros::ServiceServer anydrive_ros::AnydriveManagerRos::getControlGainsServer_
protected

◆ getDriveInfoServer_

ros::ServiceServer anydrive_ros::AnydriveManagerRos::getDriveInfoServer_
protected

◆ getErrorStateBehaviorServer_

ros::ServiceServer anydrive_ros::AnydriveManagerRos::getErrorStateBehaviorServer_
protected

◆ getJointPositionLimitsHardServer_

ros::ServiceServer anydrive_ros::AnydriveManagerRos::getJointPositionLimitsHardServer_
protected

◆ getJointPositionLimitsSdkServer_

ros::ServiceServer anydrive_ros::AnydriveManagerRos::getJointPositionLimitsSdkServer_
protected

◆ getJointPositionLimitsSoftServer_

ros::ServiceServer anydrive_ros::AnydriveManagerRos::getJointPositionLimitsSoftServer_
protected

◆ getMaxCurrentServer_

ros::ServiceServer anydrive_ros::AnydriveManagerRos::getMaxCurrentServer_
protected

◆ getMaxMotorVelocityServer_

ros::ServiceServer anydrive_ros::AnydriveManagerRos::getMaxMotorVelocityServer_
protected

◆ jointStatesMsg_

sensor_msgs::JointState anydrive_ros::AnydriveManagerRos::jointStatesMsg_
protected

◆ jointStatesMsgMutex_

std::recursive_mutex anydrive_ros::AnydriveManagerRos::jointStatesMsgMutex_
protected

◆ jointStatesMsgUpdated_

std::atomic<bool> anydrive_ros::AnydriveManagerRos::jointStatesMsgUpdated_
protected

◆ jointStatesPublisher_

any_node::ThreadedPublisherPtr<sensor_msgs::JointState> anydrive_ros::AnydriveManagerRos::jointStatesPublisher_
protected

◆ jointStatesThrottledPublisher_

any_node::ThreadedPublisherPtr<sensor_msgs::JointState> anydrive_ros::AnydriveManagerRos::jointStatesThrottledPublisher_
protected

◆ jointStatesThrottledPublisherCounter_

unsigned int anydrive_ros::AnydriveManagerRos::jointStatesThrottledPublisherCounter_ = 0
protected

◆ jointStatesThrottledPublisherDecimation_

unsigned int anydrive_ros::AnydriveManagerRos::jointStatesThrottledPublisherDecimation_ = 0
protected

◆ maxPublishMessageBufferSize_

const unsigned int anydrive_ros::AnydriveManagerRos::maxPublishMessageBufferSize_ = 10
protected

Publish options.

◆ nh_

ros::NodeHandle& anydrive_ros::AnydriveManagerRos::nh_
protected

◆ notifyPublishWorkerCv_

std::condition_variable anydrive_ros::AnydriveManagerRos::notifyPublishWorkerCv_
protected

◆ notifyPublishWorkerMutex_

std::mutex anydrive_ros::AnydriveManagerRos::notifyPublishWorkerMutex_
protected

◆ publishCounter_

std::atomic<uint64_t> anydrive_ros::AnydriveManagerRos::publishCounter_
protected

◆ publishWorker_

std::shared_ptr<any_worker::Worker> anydrive_ros::AnydriveManagerRos::publishWorker_
protected

Publish worker.

◆ readingsExtendedMsg_

anydrive_msgs::ReadingsExtended anydrive_ros::AnydriveManagerRos::readingsExtendedMsg_
protected

◆ readingsExtendedMsgMutex_

std::recursive_mutex anydrive_ros::AnydriveManagerRos::readingsExtendedMsgMutex_
protected

◆ readingsExtendedMsgUpdated_

std::atomic<bool> anydrive_ros::AnydriveManagerRos::readingsExtendedMsgUpdated_
protected

◆ readingsExtendedThrottledPublisher_

any_node::ThreadedPublisherPtr<anydrive_msgs::ReadingsExtended> anydrive_ros::AnydriveManagerRos::readingsExtendedThrottledPublisher_
protected

◆ readingsExtendedThrottledPublisherCounter_

unsigned int anydrive_ros::AnydriveManagerRos::readingsExtendedThrottledPublisherCounter_ = 0
protected

◆ readingsExtendedThrottledPublisherDecimation_

unsigned int anydrive_ros::AnydriveManagerRos::readingsExtendedThrottledPublisherDecimation_ = 0
protected

◆ readingsMsg_

anydrive_msgs::Readings anydrive_ros::AnydriveManagerRos::readingsMsg_
protected

◆ readingsMsgMutex_

std::recursive_mutex anydrive_ros::AnydriveManagerRos::readingsMsgMutex_
protected

◆ readingsMsgUpdated_

std::atomic<bool> anydrive_ros::AnydriveManagerRos::readingsMsgUpdated_
protected

◆ readingsPublisher_

any_node::ThreadedPublisherPtr<anydrive_msgs::Readings> anydrive_ros::AnydriveManagerRos::readingsPublisher_
protected

◆ resetCustomCalibrationsToFactoryServer_

ros::ServiceServer anydrive_ros::AnydriveManagerRos::resetCustomCalibrationsToFactoryServer_
protected

◆ resetFlashStorageSections_

ros::ServiceServer anydrive_ros::AnydriveManagerRos::resetFlashStorageSections_
protected

◆ rosPrefix_

std::string anydrive_ros::AnydriveManagerRos::rosPrefix_
protected

◆ runCommandsSubscriber_

bool anydrive_ros::AnydriveManagerRos::runCommandsSubscriber_ = true
protected

◆ runJointStatesPublisher_

bool anydrive_ros::AnydriveManagerRos::runJointStatesPublisher_ = true
protected

◆ runJointStatesThrottledPublisher_

bool anydrive_ros::AnydriveManagerRos::runJointStatesThrottledPublisher_ = true
protected

◆ runReadingsExtendedThrottledPublisher_

bool anydrive_ros::AnydriveManagerRos::runReadingsExtendedThrottledPublisher_ = true
protected

◆ runReadingsPublisher_

bool anydrive_ros::AnydriveManagerRos::runReadingsPublisher_ = true
protected

◆ sendControlwordServer_

ros::ServiceServer anydrive_ros::AnydriveManagerRos::sendControlwordServer_
protected

◆ sendSdoReadServer_

ros::ServiceServer anydrive_ros::AnydriveManagerRos::sendSdoReadServer_
protected

◆ sendSdoWriteServer_

ros::ServiceServer anydrive_ros::AnydriveManagerRos::sendSdoWriteServer_
protected

◆ setControlGainsServer_

ros::ServiceServer anydrive_ros::AnydriveManagerRos::setControlGainsServer_
protected

◆ setDriveInfoBootloaderVersionServer_

ros::ServiceServer anydrive_ros::AnydriveManagerRos::setDriveInfoBootloaderVersionServer_
protected

◆ setDriveInfoIdServer_

ros::ServiceServer anydrive_ros::AnydriveManagerRos::setDriveInfoIdServer_
protected

◆ setDriveInfoNameServer_

ros::ServiceServer anydrive_ros::AnydriveManagerRos::setDriveInfoNameServer_
protected

◆ setDriveInfoSerialNumberServer_

ros::ServiceServer anydrive_ros::AnydriveManagerRos::setDriveInfoSerialNumberServer_
protected

◆ setErrorStateBehaviorServer_

ros::ServiceServer anydrive_ros::AnydriveManagerRos::setErrorStateBehaviorServer_
protected

◆ setGoalStateServer_

ros::ServiceServer anydrive_ros::AnydriveManagerRos::setGoalStateServer_
protected

◆ setJointPositionLimitsHardServer_

ros::ServiceServer anydrive_ros::AnydriveManagerRos::setJointPositionLimitsHardServer_
protected

◆ setJointPositionLimitsSdkServer_

ros::ServiceServer anydrive_ros::AnydriveManagerRos::setJointPositionLimitsSdkServer_
protected

◆ setJointPositionLimitsSoftServer_

ros::ServiceServer anydrive_ros::AnydriveManagerRos::setJointPositionLimitsSoftServer_
protected

◆ setMaxCurrentServer_

ros::ServiceServer anydrive_ros::AnydriveManagerRos::setMaxCurrentServer_
protected

◆ setMaxMotorVelocityServer_

ros::ServiceServer anydrive_ros::AnydriveManagerRos::setMaxMotorVelocityServer_
protected

◆ shutdownPublishWorkerRequested_

std::atomic<bool> anydrive_ros::AnydriveManagerRos::shutdownPublishWorkerRequested_
protected

◆ writeConfigurationServer_

ros::ServiceServer anydrive_ros::AnydriveManagerRos::writeConfigurationServer_
protected

◆ writeFactoryCalibrationServer_

ros::ServiceServer anydrive_ros::AnydriveManagerRos::writeFactoryCalibrationServer_
protected

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