PlatformControllerExecutor Class Reference

The PlatformUnitExecutor class. More...

#include <armarx/navigation/server/execution/PlatformControllerExecutor.h>

+ Inheritance diagram for PlatformControllerExecutor:

Classes

struct  Properties
 

Public Types

using ControllerComponentPlugin = armarx::control::client::ComponentPlugin
 
- Public Types inherited from ExecutorInterface
enum class  ControllerType { GlobalTrajectory , LocalTrajectory , None }
 

Public Member Functions

bool consumeEmergencyStopRelease () override
 Whether the emergency stop has been released since this was last asked.
 
void ensureIsActive (ControllerType controllerType) override
 
void execute (const core::GlobalTrajectory &trajectory, bool activateController=false) override
 
void execute (const core::LocalTrajectory &trajectory, bool activateController=false) override
 
 PlatformControllerExecutor (ControllerComponentPlugin &controllerComponentPlugin, const Properties &properties, const EmergencyStopInterface *emergencyStop=nullptr)
 
void start (ControllerType controllerType) override
 
void stop () override
 
void updateVelocityFactor (float velocityFactor) override
 
void updateVelocityLimits (const core::TwistLimits &limits) override
 
 ~PlatformControllerExecutor () override
 
- Public Member Functions inherited from ExecutorInterface
virtual ~ExecutorInterface ()=default
 

Detailed Description

The PlatformUnitExecutor class.

TODO: Should be renamed to whatever the new unit will be called which takes Mat4f as input instead of X/Y/Yaw, so that we have a generic interface.

Definition at line 29 of file PlatformControllerExecutor.h.

Member Typedef Documentation

◆ ControllerComponentPlugin

Constructor & Destructor Documentation

◆ PlatformControllerExecutor()

PlatformControllerExecutor ( ControllerComponentPlugin & controllerComponentPlugin,
const Properties & properties,
const EmergencyStopInterface * emergencyStop = nullptr )
Parameters
emergencyStopConsulted before re-activating a controller. nullptr means this deployment has no emergency-stop source, which is not the same as one that has gone silent: absent proceeds, broken refuses.

Definition at line 26 of file PlatformControllerExecutor.cpp.

◆ ~PlatformControllerExecutor()

~PlatformControllerExecutor ( )
overridedefault

Member Function Documentation

◆ consumeEmergencyStopRelease()

bool consumeEmergencyStopRelease ( )
overridevirtual

Whether the emergency stop has been released since this was last asked.

Reports the edge once and clears it. The caller must re-anchor its plan at the robot's current pose before the controller is activated again: the robot stands still where the old profile assigns cruise speed, so resuming on the old trajectory steps the command from zero and the device ramp answers at its own maximum.

Defaults to false for executors with no emergency-stop source.

Reimplemented from ExecutorInterface.

Definition at line 286 of file PlatformControllerExecutor.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ ensureIsActive()

void ensureIsActive ( ControllerType controllerType)
overridevirtual

Implements ExecutorInterface.

Definition at line 213 of file PlatformControllerExecutor.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ execute() [1/2]

void execute ( const core::GlobalTrajectory & trajectory,
bool activateController = false )
overridevirtual

Implements ExecutorInterface.

Definition at line 167 of file PlatformControllerExecutor.cpp.

+ Here is the call graph for this function:

◆ execute() [2/2]

void execute ( const core::LocalTrajectory & trajectory,
bool activateController = false )
overridevirtual

Implements ExecutorInterface.

Definition at line 147 of file PlatformControllerExecutor.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ start()

void start ( ControllerType controllerType)
overridevirtual

Implements ExecutorInterface.

Definition at line 189 of file PlatformControllerExecutor.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ stop()

void stop ( )
overridevirtual

Implements ExecutorInterface.

Definition at line 312 of file PlatformControllerExecutor.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ updateVelocityFactor()

void updateVelocityFactor ( float velocityFactor)
overridevirtual

Implements ExecutorInterface.

Definition at line 391 of file PlatformControllerExecutor.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ updateVelocityLimits()

void updateVelocityLimits ( const core::TwistLimits & limits)
overridevirtual

Implements ExecutorInterface.

Definition at line 364 of file PlatformControllerExecutor.cpp.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

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