Public Member Functions | Private Member Functions | Private Attributes | List of all members
pilz_joint_trajectory_controller::TrajProcessingModeManager Class Reference

Encapsulates a state machine managing the current Trajectory-Processing-Mode. More...

#include <traj_mode_manager.h>

Public Member Functions

TrajProcessingMode getCurrentMode ()
 
bool isHolding ()
 Check if in state stopping or hold. More...
 
bool startEvent ()
 
bool stopEvent (HoldModeListener *const listener=nullptr)
 
void stopMotionFinishedEvent ()
 Switch to hold. More...
 

Private Member Functions

void callListener ()
 Triggers all registered listeners whose target mode is reached. More...
 
void registerListener (HoldModeListener *const listener)
 
bool switchTo (const TrajProcessingMode &mode)
 Perform transition if possible. More...
 

Private Attributes

TrajProcessingMode current_mode_ { TrajProcessingMode::stopping }
 
std::list< HoldModeListener * > listener_
 
const TrajProcessingModeStateMachine mode_state_machine_ {}
 
std::mutex mutex_
 Used to make all public methods mutually exclusive in order to protect the member variables. More...
 

Detailed Description

Encapsulates a state machine managing the current Trajectory-Processing-Mode.

All public methods are mutually exclusive. Initial mode is stopping in accordance to the controller.

Definition at line 82 of file traj_mode_manager.h.

Member Function Documentation

◆ callListener()

void pilz_joint_trajectory_controller::TrajProcessingModeManager::callListener ( )
inlineprivate

Triggers all registered listeners whose target mode is reached.

Definition at line 164 of file traj_mode_manager.h.

◆ getCurrentMode()

TrajProcessingMode pilz_joint_trajectory_controller::TrajProcessingModeManager::getCurrentMode ( )
inline

Definition at line 143 of file traj_mode_manager.h.

◆ isHolding()

bool pilz_joint_trajectory_controller::TrajProcessingModeManager::isHolding ( )
inline

Check if in state stopping or hold.

Definition at line 137 of file traj_mode_manager.h.

◆ registerListener()

void pilz_joint_trajectory_controller::TrajProcessingModeManager::registerListener ( HoldModeListener *const  listener)
inlineprivate

Definition at line 159 of file traj_mode_manager.h.

◆ startEvent()

bool pilz_joint_trajectory_controller::TrajProcessingModeManager::startEvent ( )
inline
Returns
True if in state unhold or a successful switch to state unhold was performed, otherwise false.

Definition at line 194 of file traj_mode_manager.h.

◆ stopEvent()

bool pilz_joint_trajectory_controller::TrajProcessingModeManager::stopEvent ( HoldModeListener *const  listener = nullptr)
inline
Returns
True only if a successful state switch to stopping was performed, otherwise false.

Definition at line 182 of file traj_mode_manager.h.

◆ stopMotionFinishedEvent()

void pilz_joint_trajectory_controller::TrajProcessingModeManager::stopMotionFinishedEvent ( )
inline

Switch to hold.

Definition at line 204 of file traj_mode_manager.h.

◆ switchTo()

bool pilz_joint_trajectory_controller::TrajProcessingModeManager::switchTo ( const TrajProcessingMode mode)
inlineprivate

Perform transition if possible.

Returns
True if transition was performed, otherwise false.

Definition at line 149 of file traj_mode_manager.h.

Member Data Documentation

◆ current_mode_

TrajProcessingMode pilz_joint_trajectory_controller::TrajProcessingModeManager::current_mode_ { TrajProcessingMode::stopping }
private

Definition at line 109 of file traj_mode_manager.h.

◆ listener_

std::list<HoldModeListener*> pilz_joint_trajectory_controller::TrajProcessingModeManager::listener_
private

Definition at line 110 of file traj_mode_manager.h.

◆ mode_state_machine_

const TrajProcessingModeStateMachine pilz_joint_trajectory_controller::TrajProcessingModeManager::mode_state_machine_ {}
private

Definition at line 108 of file traj_mode_manager.h.

◆ mutex_

std::mutex pilz_joint_trajectory_controller::TrajProcessingModeManager::mutex_
private

Used to make all public methods mutually exclusive in order to protect the member variables.

Definition at line 112 of file traj_mode_manager.h.


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


pilz_control
Author(s):
autogenerated on Sat Nov 25 2023 03:51:31