ImFusion SDK 4.3
URRunner Class Reference

#include <RoboticsPlugin/Include/ImFusion/Robotics/UR/URRunner.h>

Low-level interface to the Universal Robot RTDE interface. More...

+ Inheritance diagram for URRunner:

Detailed Description

Low-level interface to the Universal Robot RTDE interface.

Public Member Functions

 URRunner (const URRobotLocation &robotLocation, const std::shared_ptr< RobotInstance > &instance, RateLimits rateLimits={})
 
RunnerStatus status () const override
 Get the current status of the robot runner.
 
bool connect () override
 Establish connection to the robot hardware.
 
bool disconnect () override
 Safety disconnect from the robot hardware.
 
- Public Member Functions inherited from RobotRunner
 RobotRunner (std::unique_ptr< RobotLocation > robotLocation, const std::shared_ptr< RobotInstance > &instance, const RateLimits &rateLimits={})
 Construct the new robot runner.
 
std::shared_ptr< const RobotStatelastState () const
 Get the most recent robot state.
 
void configure (const Properties *p) override
 Configure the Robot Runner.
 
void configuration (Properties *p) const override
 Retrieve the properties of the RobotRunner.
 
bool isConnected () const
 Check if the robot is currently connected.
 
MotionGeneratorBaseactiveMotionGenerator () override
 Get currently active motion generator.
 
std::optional< std::shared_future< bool > > currentMotionFuture () const
 Get the future associated with the current motion execution.
 
- Public Member Functions inherited from Configurable
virtual void configureDefaults ()
 Retrieve the properties of this object, replaces values with their defaults and sets it again.
 
void registerParameter (ParameterBase *param)
 Register the given Parameter or SubProperty, so that it will be configured during configure()/configuration().
 
void unregisterParameter (const ParameterBase *param)
 Remove the given Parameter or SubProperty from the list of registered parameters.
 
 Configurable (const Configurable &rhs)
 
 Configurable (Configurable &&rhs) noexcept
 
Configurableoperator= (const Configurable &)
 
Configurableoperator= (Configurable &&) noexcept
 
- Public Member Functions inherited from StatusInterface
 StatusInterface (RateLimits rateLimits)
 
RobotLocationrobotLocation () const
 
template<typename LocationType>
LocationType * typedRobotLocation () const
 
template<typename LocationType>
bool updateRobotLocation (std::unique_ptr< LocationType > newLocation)
 
RateLimits rateLimits () const
 
virtual void setRateLimits (RateLimits rateLimits)
 
- Public Member Functions inherited from DynamicsInterfaceWithFallback
CoriolisSolution computeCoriolis (const RobotState &state, Source source) override
 
JacobianSolution computeJacobian (const RobotState &state, Source source) override
 
GravitySolution computeGravity (const RobotState &state, Source source) override
 
virtual CoriolisSolution computeCoriolisNative (const RobotState &state)
 
virtual JacobianSolution computeJacobianNative (const RobotState &state)
 
virtual GravitySolution computeGravityNative (const RobotState &state)
 
- Public Member Functions inherited from DynamicsInterface
CoriolisSolution computeCoriolis (const RobotState &state)
 
JacobianSolution computeJacobian (const RobotState &state)
 
GravitySolution computeGravity (const RobotState &state)
 
- Public Member Functions inherited from ControllerConfigurationInterface
 ControllerConfigurationInterface (std::vector< ControllerConfiguration > controllers)
 
std::vector< ControllerConfigurationcontrollers () const
 Returns descriptions of controllers with default parameter values.
 
std::optional< ControllerConfigurationcontrollerWithName (const std::string &name) const
 Get the controller with the given name.
 
bool activateController (const ControllerConfiguration &controllerConfiguration)
 Activates the given controller, taking the parameters from the given configuration.
 
std::optional< ControllerConfigurationactiveController () const
 Which controller is currently active.
 

Methods implementing the StatusInterface interface

bool isMoving () const override
 
bool isError () const override
 
bool canStartNewMotion () const override
 
bool tryRecoverFromError () override
 
void stopMotion () override
 

Methods implementing the CartesianPTPControlInterface interface

MotionResult startMotion (const isom3 &base_T_effector, RateLimits rateLimits) override
 

Methods implementing the JointPTPControlInterface interface

MotionResult startMotion (const JointPosition &goalPositionRad, RateLimits rateLimits) override
 

Methods implementing the GravityCompensationInterface interface

bool startGravityCompensation () override
 
bool stopGravityCompensation () override
 

Additional Inherited Members

- Public Types inherited from RobotRunner
enum  RunnerStatus {
  Disconnected , Paused , Ready , Moving ,
  Busy , Error
}
 Define the possible states of the robot runner. More...
 
- Public Types inherited from DynamicsInterface
enum class  Source { Any , Native , Generic }
 
- Static Public Member Functions inherited from StatusInterface
static std::string id ()
 
- Static Public Member Functions inherited from ControllerConfigurationInterface
static std::string id ()
 
- Static Public Member Functions inherited from CartesianPTPControlInterface
static std::string id ()
 
- Static Public Member Functions inherited from JointPTPControlInterface
static std::string id ()
 
- Static Public Member Functions inherited from GravityCompensationControlInterface
static std::string id ()
 
- Public Attributes inherited from RobotRunner
Signal< std::shared_ptr< const RobotState > > stateUpdated
 Signal emitted when the robot state is updated.
 
- Public Attributes inherited from Configurable
Signal signalParametersChanged
 Emitted whenever one of the registered Parameters' or SubPropertys' signalValueChanged signal was emitted.
 
- Public Attributes inherited from StatusInterface
Signal motionStarted
 
Signal motionFinished
 
- Protected Member Functions inherited from RobotRunner
void publishState (std::shared_ptr< const RobotState > state)
 Update and publish a new robot state.
 
- Protected Attributes inherited from RobotRunner
std::optional< MotionDatam_currentMotionData
 Active motion data if robot is moving, std::nullopt when idle or motion completed.
 
std::shared_ptr< RobotInstancem_robotInstance
 Maintains robot kinematic model and joint configuration bounds.
 
std::shared_ptr< const RobotStatem_lastState
 Cached robot state for external queries, updated via publishState()
 
- Protected Attributes inherited from Configurable
std::vector< Paramm_params
 List of all registered Parameter and SubProperty instances.
 
- Protected Attributes inherited from StatusInterface
RateLimits m_rateLimits
 
std::unique_ptr< RobotLocationm_robotLocation
 Robot location (e.g.
 

Member Function Documentation

◆ status()

RunnerStatus status ( ) const
overridevirtual

Get the current status of the robot runner.

Returns
an identifier of the robot runner's operational state.

Implements RobotRunner.

◆ connect()

bool connect ( )
overridevirtual

Establish connection to the robot hardware.

Derived classes should implement this method to: Extract the particular robot location and the dedicated connection parameters (e.g IP address). Initialize hardware communication. Setup monitoring threads if needed. Publish initial robot state.

Returns
true if connection was successful, false if the connection failed.

Implements RobotRunner.

◆ disconnect()

bool disconnect ( )
overridevirtual

Safety disconnect from the robot hardware.

Derived classes should implement this method to: Check if the robot is currently executing a motion. Stop and clean up any monitoring threads and reset dedicated variables. Release hardware resources and connections.

Returns
true if disconnection was successful, false if the robot is busy executing a motion or disconnection failed.
Note
should not disconnect while the robot is executing a motion.

Implements RobotRunner.

◆ isMoving()

bool isMoving ( ) const
overridevirtual

Implements StatusInterface.

◆ isError()

bool isError ( ) const
overridevirtual

Implements StatusInterface.

◆ canStartNewMotion()

bool canStartNewMotion ( ) const
overridevirtual

Implements StatusInterface.

◆ tryRecoverFromError()

bool tryRecoverFromError ( )
overridevirtual

Implements StatusInterface.

◆ stopMotion()

void stopMotion ( )
overridevirtual

Implements StatusInterface.

◆ startMotion() [1/2]

MotionResult startMotion ( const isom3 & base_T_effector,
RateLimits rateLimits )
overridevirtual

◆ startMotion() [2/2]

MotionResult startMotion ( const JointPosition & goalPositionRad,
RateLimits rateLimits )
overridevirtual

◆ startGravityCompensation()

bool startGravityCompensation ( )
overridevirtual

◆ stopGravityCompensation()

bool stopGravityCompensation ( )
overridevirtual

The documentation for this class was generated from the following file:
Search Tab / S to search, Esc to close