AuboCaps  0.6.0
arcs::aubo_scope::UntilNode Class Reference

#include <until_node.h>

Inheritance diagram for arcs::aubo_scope::UntilNode:
Collaboration diagram for arcs::aubo_scope::UntilNode:

Public Types

enum  ConfigType : short {
  EXPRESSION, TOOL_CONTACT, IO_INPUT, DISTANCE,
  REACHED_WAYPOINT, NONE_CONFIG_TYPE
}
 The configuration type used to determine which type of configuration this instance is. More...
 
enum  CompareOperator : int { LESS_THAN, GREATER_THAN }
 Compare operator types LESS_THAN and GREATER_THAN used when waiting for an analog input to go lower or higher, respectively, than a threshold. More...
 
enum  BlendParameterType { NO_BLEND, CUSTOM_BLEND }
 Blend Parameters can be of different types The parameter type is used to determine the explicit blend parameters (can be used in place of instanceof operations). More...
 
enum  CustomDecelerationParameterType { Unknown, Angular, Cartesian }
 
enum  DecelerationParameterType { SHARED_DECELERATION, CUSTOM_DECELERATION }
 The deceleration parameter type used to determine which type of deceleration parameter this instance is. More...
 
enum  IOInputSelectionType { NONE_INPUT_SELECT, DIGITAL_INPUT, ANALOG_INPUT, FLOAT_REGISTER_INPUT }
 The type of the input selection. More...
 

Public Member Functions

 UntilNode (UntilNode &f)
 
 UntilNode (UntilNode &&f)
 
virtual ~UntilNode ()
 
ConfigType getConfigType ()
 This method returns the type of configuration. More...
 
void setConfigType (ConfigType type)
 
BlendParameterType getBlendParameterType ()
 
void setBlendParameterType (BlendParameterType type)
 
void setWaypointBlendParameter (double suggested_blend)
 Creates blend parameters for an Until node. More...
 
double getWaypointBlendParameter ()
 
DecelerationParameterType getDecelerationParameterType ()
 
void setDecelerationParameterType (DecelerationParameterType type)
 
void setDecelerationParameters (double deceleration)
 
double getDecelerationParameters ()
 
CustomDecelerationParameterType getCustomDecelerationParameterType ()
 
void setCustomDecelerationParameterType (CustomDecelerationParameterType type)
 
double getAngularDeceleration ()
 The rate at which to decelerate when the until condition is met. More...
 
void setAngularDeceleration (double dec)
 
double getCartesianDeceleration ()
 The rate at which to decelerate when the until condition is met. More...
 
void setCartesianDeceleration (double dec)
 
void setExpressionConfig (ExpressionPtr expression)
 
ExpressionPtr getExpressionConfig ()
 
double getDistance ()
 The distance the robot will travel. More...
 
void setDistance (double dis)
 
IOInputSelectionType getIOInputSelectionType ()
 
void setIOInputSelectionType (IOInputSelectionType type)
 
void setDigitalInputValueToProceed (bool value_to_proceed_until)
 Creates an I/O Input configuration for an Until node. More...
 
bool getDigitalInputValueToProceed ()
 
void setAnalogInputValueToProceed (double value)
 Creates an I/O Input configuration for an Until node. More...
 
double getAnalogInputValueToProceed ()
 
void setCompareOperator (CompareOperator compare_operator)
 
CompareOperator getCompareOperator ()
 
- Public Member Functions inherited from arcs::aubo_scope::ProgramNode
 ProgramNode (ProgramNode &f)
 
 ProgramNode (ProgramNode &&f)
 
virtual ~ProgramNode ()
 
ProgramNodeContributionPtr getProgramNodeContribution ()
 不推荐用户调用 ProgramNodeContribution::generateScript 使用 ScriptWritter::writeChildren More...
 

Private Member Functions

 UntilNode ()
 

Private Attributes

void * d_ { nullptr }
 

Friends

class DataSwitch
 

Additional Inherited Members

- Protected Member Functions inherited from arcs::aubo_scope::ProgramNode
 ProgramNode ()
 

Detailed Description

The Until node is a type of program node that must be under a Waypoint node or Direction node.

It has special behavior when calling TreeNode#addChild(ProgramNode) and TreeNode#removeChild(TreeNode). Until nodes by default are leaf nodes, however they can have actions added to them. When that happens they are transformed into branch nodes that allow child nodes. When the last child is removed they become leaf nodes again. This is all automatically handled when TreeNode#addChild(ProgramNode) and TreeNode#removeChild(TreeNode) are called.

Definition at line 28 of file until_node.h.

Member Enumeration Documentation

Blend Parameters can be of different types The parameter type is used to determine the explicit blend parameters (can be used in place of instanceof operations).

Enumerator
NO_BLEND 

The robot arm will stop without performing a blend.

CUSTOM_BLEND 

Custom blend has been selected.

The blend instance can be cast to CustomBlendParameters.

Definition at line 108 of file until_node.h.

Compare operator types LESS_THAN and GREATER_THAN used when waiting for an analog input to go lower or higher, respectively, than a threshold.

Enumerator
LESS_THAN 
GREATER_THAN 

Definition at line 97 of file until_node.h.

The configuration type used to determine which type of configuration this instance is.

Enumerator
EXPRESSION 

An Until node where the until condition is true once the evaluation of an expression is true.

The config instance can be cast to ExpressionUntilNodeConfig.

TOOL_CONTACT 

An Until node where the until condition is true once an impact on the Tool is detected.

This functionality is not supported by the API.

IO_INPUT 

An Until node where the until condition is true once a given I/O reaches a certain value.

The config can be cast to IOInputUntilNodeConfig.

DISTANCE 

An Until node where the until condition is true once a given distance is reached.

The config can be cast to DistanceUntilNodeConfig.

REACHED_WAYPOINT 

An Until node where the until condition is true once its parent Waypoint is reached.

The config can be cast to ReachedWaypointUntilNodeConfig.

NONE_CONFIG_TYPE 

An undefined Until node with no type set yet.

Definition at line 35 of file until_node.h.

Enumerator
Unknown 

This deceleration was either created specifying values for both AngularAcceleration and Acceleration and/or is in use in an Until node that is not yet in the program tree.

Angular 

This deceleration is currently used under a MoveJ node.

Cartesian 

This deceleration is currently used under a MoveL or MoveP node.

Definition at line 126 of file until_node.h.

The deceleration parameter type used to determine which type of deceleration parameter this instance is.

Enumerator
SHARED_DECELERATION 

Shared deceleration has been selected.

The acceleration values from the parent Move node will be used as deceleration (absolute value).

CUSTOM_DECELERATION 

Custom deceleration has been selected.

This instance can be cast to CustomDecelerationParameters.

Definition at line 151 of file until_node.h.

The type of the input selection.

Enumerator
NONE_INPUT_SELECT 

The node is not fully configured.

DIGITAL_INPUT 

Digital input is selected.

The config instance can be cast to DigitalInputUntilNodeConfig.

ANALOG_INPUT 

Analog input is selected.

The config instance can be cast to AnalogInputUntilNodeConfig.

FLOAT_REGISTER_INPUT 

A float input register is selected.

The config instance can be cast to FloatRegisterInputUntilNodeConfig.

Definition at line 172 of file until_node.h.

Constructor & Destructor Documentation

arcs::aubo_scope::UntilNode::UntilNode ( UntilNode f)
arcs::aubo_scope::UntilNode::UntilNode ( UntilNode &&  f)
virtual arcs::aubo_scope::UntilNode::~UntilNode ( )
virtual
arcs::aubo_scope::UntilNode::UntilNode ( )
private

Member Function Documentation

double arcs::aubo_scope::UntilNode::getAnalogInputValueToProceed ( )
double arcs::aubo_scope::UntilNode::getAngularDeceleration ( )

The rate at which to decelerate when the until condition is met.

Returns
the specified angular deceleration of the until node (absolute value).
BlendParameterType arcs::aubo_scope::UntilNode::getBlendParameterType ( )
double arcs::aubo_scope::UntilNode::getCartesianDeceleration ( )

The rate at which to decelerate when the until condition is met.

Returns
the specified Cartesian deceleration of the until node (absolute value).
CompareOperator arcs::aubo_scope::UntilNode::getCompareOperator ( )
ConfigType arcs::aubo_scope::UntilNode::getConfigType ( )

This method returns the type of configuration.

Cast this instance appropriately to have access to specific getters.

Returns
the type of this config.
CustomDecelerationParameterType arcs::aubo_scope::UntilNode::getCustomDecelerationParameterType ( )
Returns
the deceleration type. This can change depending on the Move node type above the Until node.
double arcs::aubo_scope::UntilNode::getDecelerationParameters ( )
DecelerationParameterType arcs::aubo_scope::UntilNode::getDecelerationParameterType ( )
bool arcs::aubo_scope::UntilNode::getDigitalInputValueToProceed ( )
double arcs::aubo_scope::UntilNode::getDistance ( )

The distance the robot will travel.

Returns
The distance.
ExpressionPtr arcs::aubo_scope::UntilNode::getExpressionConfig ( )
IOInputSelectionType arcs::aubo_scope::UntilNode::getIOInputSelectionType ( )
double arcs::aubo_scope::UntilNode::getWaypointBlendParameter ( )
void arcs::aubo_scope::UntilNode::setAnalogInputValueToProceed ( double  value)

Creates an I/O Input configuration for an Until node.

The until condition for this configuration is true once the the signal value of a given analog input goes past a specified electric Current threshold.

Parameters
inputthe analog input whose signal value will determine whether the until condition is met, not null.
compareOperatorthe operator to use when comparing the signal value of the selected analog input to the threshold value, not null. Available options are "less than" ({ <}) or "greater than" ({ >}).
currentThresholdthe electric Current threshold for the signal value of the analog input. Execution will proceed until the signal value of the selected analog input goes past this threshold.
errorHandlerthe error handler for validation errors. If using ErrorHandler#AUTO_CORRECT this will clamp the value to the nearest valid current value.
Returns
the Until node configuration.
Exceptions
IllegalArgumentExceptionif input is an output (does not support reading of values). See IO#isInput().
void arcs::aubo_scope::UntilNode::setAngularDeceleration ( double  dec)
void arcs::aubo_scope::UntilNode::setBlendParameterType ( BlendParameterType  type)
void arcs::aubo_scope::UntilNode::setCartesianDeceleration ( double  dec)
void arcs::aubo_scope::UntilNode::setCompareOperator ( CompareOperator  compare_operator)
void arcs::aubo_scope::UntilNode::setConfigType ( ConfigType  type)
void arcs::aubo_scope::UntilNode::setCustomDecelerationParameterType ( CustomDecelerationParameterType  type)
void arcs::aubo_scope::UntilNode::setDecelerationParameters ( double  deceleration)

Creates deceleration parameter for an Until node. Can be used in an Expression configuration type.

An angular deceleration is used when the type of the parent Move node is a MoveJ, whereas a Cartesian deceleration is used when the move type is a MoveL or MoveP.

Parameters
decelerationthe angular deceleration (the value for the Cartesian deceleration will be the default value that AuboScope uses), not null.
decelerationErrorHandlererror handler for handling validation. If using ErrorHandler#AUTO_CORRECT this will clamp the value to the nearest valid angular deceleration value.
Returns
the deceleration parameter for the Until node.
void arcs::aubo_scope::UntilNode::setDecelerationParameterType ( DecelerationParameterType  type)
void arcs::aubo_scope::UntilNode::setDigitalInputValueToProceed ( bool  value_to_proceed_until)

Creates an I/O Input configuration for an Until node.

The until condition for this configuration is true once the signal value of a given digital input goes HIGH or LOW.

Parameters
inputthe digital input whose signal value will determine whether the until condition is met, not null.
valueToProceedUntiltrue, if the until condition is met when the input signal value goes HIGH, false otherwise (condition met when signal value is LOW).
Returns
the Until node configuration.
Exceptions
IllegalArgumentExceptionif input is an output (does not support reading of values). See IO#isInput().
void arcs::aubo_scope::UntilNode::setDistance ( double  dis)
void arcs::aubo_scope::UntilNode::setExpressionConfig ( ExpressionPtr  expression)

Creates an Expression configuration for an Until node with an expression and default value for the deceleration parameter. The until condition for this configuration is true once the evaluation of the expression is true.

Note that this default value may change between AuboScope versions.

Parameters
expressionthe expression whose evaluation will determine whether the until condition is met.
Returns
the Until node configuration.
void arcs::aubo_scope::UntilNode::setIOInputSelectionType ( IOInputSelectionType  type)
void arcs::aubo_scope::UntilNode::setWaypointBlendParameter ( double  suggested_blend)

Creates blend parameters for an Until node.

Can be used in a Distance configuration type.

Parameters
suggestedBlendThis blend value may be (automatically) corrected depending on the value of the distance parameter the Distance configuration.
Returns
the blend parameters for the Until node.

Friends And Related Function Documentation

friend class DataSwitch
friend

Definition at line 364 of file until_node.h.

Member Data Documentation

void* arcs::aubo_scope::UntilNode::d_ { nullptr }
private

Definition at line 366 of file until_node.h.


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