INOS
cinosmovepath.h File Reference

The CINOSMovePath class. More...

#include <inos.h>
#include <cinostaskexdef.h>
#include <cinosvector.h>
#include <cinosmotionframe.h>
#include <cinosmovepathparam.h>
#include <cinosmovepathevent.h>
#include <cinosmovepathsegment.h>
#include <cinosmovepathsegmentbase.h>
#include <cinosmovepathsegmentnurbs.h>
#include <cinosmovepathresource.h>
#include <cinosmovepathresourceposaxis.h>
#include <cinosmovepathresourcespeedaxis.h>
#include <cinosmovepathresourcerapidgate.h>
#include <cinosmovepathpart.h>
#include <cinosmovepathpartlinear.h>
#include <cinosmovepathpartlinearbay.h>
#include <cinosmovepathpartcircle.h>
#include <cinosmovepathpartclothoid.h>
#include <cinosmovepathcurve.h>
#include <cinosmovepathinterpolator.h>
#include <cinosmovepathinterpolatorsegment.h>
#include <cinosmovepathtrajectory.h>
#include <cinosmovepathtrajectoryconstant.h>
#include <cinosmovepathtrajectorysegment.h>
#include <cinosmovepathtrajectorylookahead.h>
Include dependency graph for cinosmovepath.h:

Go to the source code of this file.

Classes

class  CINOSMovePath
 

Macros

#define DF_INOS_MOVEPATH_ID_DEFAULT   0xffffffff
 
#define DF_INOS_MOVEPATH_TOLERANCE_DEFAULT   -1.0
 
#define DF_INOS_MOVEPATH_TOLERANCE_MIN   1.0e-4
 
#define DF_INOS_MOVEPATH_VELOCITY_DEFAULT   -1.0
 
#define DF_INOS_MOVEPATH_FLAG_NO   0x00000000
 
#define DF_INOS_MOVEPATH_FLAG_ABS   0x00000001
 
#define DF_INOS_MOVEPATH_FLAG_INC   0x00000002
 
#define DF_INOS_MOVEPATH_FLAG_NLG   0x00000004
 
#define DF_INOS_MOVEPATH_FLAG_RAW   0x00000008
 
#define DF_INOS_MOVEPATH_THE_END   1
 
#define DF_INOS_MOVEPATH_FLAG_CURVE_OWNED   0x01000000
 
#define DF_INOS_MOVEPATH_FLAG_CONTINUATION   0x02000000
 
#define DF_INOS_MOVEPATH_FLAG_INCOMPLETE   0x04000000
 
#define DF_INOS_MOVEPATH_FLAG_OFFSET_ZERO   0x40000000
 
#define DF_INOS_MOVEPATH_FLAG_RELOCATABLE   0x80000000
 
#define DF_INOS_MOVEPATH_FLAG_SHORT   0x10000000
 
#define DF_INOS_MOVEPATH_FLAG_PURE_LINEAR   0x20000000
 
#define DF_INOS_MOVEPATH_FLAG_PURE_RAPID   0x40000000
 
#define DF_INOS_MOVEPATH_OPTION_NONE   uint32(0x00000000)
 
#define DF_INOS_MOVEPATH_OPTION_EXCEPTION_SUPPORT   uint32(0x00000001)
 
#define DF_INOS_MOVEPATH_OPTION_ASYNCH_SUPPORT   uint32(0x00000002)
 
#define DF_INOS_MOVEPATH_OPTION_REGISTER_INCO   uint32(0x00000004)
 
#define DF_INOS_MOVEPATH_OPTION_ALL
 
#define DF_INOS_MOVEPATH_OPTION_DEFAULT    DF_INOS_MOVEPATH_OPTION_NONE
 
#define DF_INOS_MOVEPATH_HELPER_CORE_NAME   "Helper.Core"
 
#define DF_INOS_MOVEPATH_HELPER_CORE_DEFAULT   -1
 
#define DF_INOS_MOVEPATH_HELPER_PRIORITY_NAME   "Helper.Priority"
 
#define DF_INOS_MOVEPATH_HELPER_PRIORITY_DEFAULT   DF_INOS_TASK_PRIO_REALTIME_LOWEST
 
#define DF_INOS_MOVEPATH_PREPARE_HELPER_CORE_NAME   "PrepareHelper.Core"
 
#define DF_INOS_MOVEPATH_PREPARE_HELPER_CORE_DEFAULT   -1
 
#define DF_INOS_MOVEPATH_PREPARE_HELPER_PRIORITY_NAME   "PrepareHelper.Priority"
 
#define DF_INOS_MOVEPATH_PREPARE_HELPER_PRIORITY_DEFAULT   DF_INOS_TASK_PRIO_BACKGROUND
 
#define DF_INOS_MOVEPATH_RUN_HELPER_CORE_NAME   "RunHelper.Core"
 
#define DF_INOS_MOVEPATH_RUN_HELPER_CORE_DEFAULT   -1
 
#define DF_INOS_MOVEPATH_RUN_HELPER_PRIORITY_NAME   "RunHelper.Priority"
 
#define DF_INOS_MOVEPATH_RUN_HELPER_PRIORITY_DEFAULT   DF_INOS_TASK_PRIO_REALTIME_LOWEST
 
#define DF_INOS_MOVEPATH_MCROBOT_PREPAREPATH_NAME   "McRobot.PreparePath"
 
#define DF_INOS_MOVEPATH_MCROBOT_PREPAREPATH_DEFAULT   0
 
#define DF_INOS_MOVEPATH_MCROBOT_PREPAREPATH_NOTHING   0
 
#define DF_INOS_MOVEPATH_MCROBOT_PREPAREPATH_ERROR   1
 
#define DF_INOS_MOVEPATH_INTERPOLATOR_SHAPE_ON_SHRINK_NAME   "Shape.OnShrink"
 
#define DF_INOS_MOVEPATH_INTERPOLATOR_SHAPE_ON_SHRINK_DEFAULT   1
 
#define DF_INOS_MOVEPATH_INTERPOLATOR_SHAPE_ON_SHRINK_LIMIT_AMAX   0
 
#define DF_INOS_MOVEPATH_INTERPOLATOR_SHAPE_ON_SHRINK_STOP   1
 
#define DF_INOS_MOVEPATH_INTERPOLATOR_SHAPE_ON_SHRINK_ERROR   2
 
#define DF_INOS_MOVEPATH_INTERPOLATOR_SHAPE_ON_SHRINK_LIMIT_JMAX   3
 
#define DF_INOS_MOVEPATH_INTERPOLATOR_NURBS_MAX_ANGLE   "Nurbs.MaxAngle"
 
#define DF_INOS_MOVEPATH_INTERPOLATOR_NURBS_MAX_ANGLE_DEFAULT   20.0
 
#define DF_INOS_MOVEPATH_INTERPOLATOR_NURBS_MAX_LENGTH   "Nurbs.MaxLength"
 
#define DF_INOS_MOVEPATH_INTERPOLATOR_NURBS_MAX_LENGTH_DEFAULT   0.0
 
#define DF_INOS_MOVEPATH_INTERPOLATOR_NURBS_OVERLAP   "Nurbs.Overlap"
 
#define DF_INOS_MOVEPATH_INTERPOLATOR_NURBS_OVERLAP_DEFAULT   0.2
 
#define DF_INOS_MOVEPATH_INTERPOLATOR_NURBS_VECTORIZE_FACTOR   "Nurbs.Vectorize"
 
#define DF_INOS_MOVEPATH_INTERPOLATOR_NURBS_VECTORIZE_FACTOR_DEFAULT   0.1
 
#define DF_INOS_MOVEPATH_INTERPOLATOR_NURBS_INTERPOLATION_POINTS   "Nurbs.InterpolationPoints"
 
#define DF_INOS_MOVEPATH_INTERPOLATOR_NURBS_INTERPOLATION_POINTS_DEFAULT   DF_INOS_NURBSCURVE_INTERPOLATION_POINTS
 
#define DF_INOS_MOVEPATH_INTERPOLATOR_NURBS_D3_FACTOR   "Nurbs.D3Factor"
 
#define DF_INOS_MOVEPATH_INTERPOLATOR_NURBS_D3_FACTOR_DEFAULT   20.0
 
#define DF_INOS_MOVEPATH_INTERPOLATOR_CLOTHOID_PURE   "Clothoid.Pure"
 
#define DF_INOS_MOVEPATH_INTERPOLATOR_CLOTHOID_PURE_DEFAULT   1.0
 
#define DF_INOS_MOVEPATH_INTERPOLATOR_CLOTHOID_REDUCE   "Clothoid.Reduce"
 
#define DF_INOS_MOVEPATH_INTERPOLATOR_CLOTHOID_REDUCE_DEFAULT   1.0
 
#define DF_INOS_MOVEPATH_INTERPOLATOR_CLOTHOID_R   "Clothoid.R"
 
#define DF_INOS_MOVEPATH_INTERPOLATOR_CLOTHOID_L   "Clothoid.L"
 
#define DF_INOS_MOVEPATH_INTERPOLATOR_CLOTHOID_A   "Clothoid.A"
 
#define DF_INOS_MOVEPATH_TRAJECTORY_MAIN_AXIS_NAME   "Trajectory.MainAxis"
 
#define DF_INOS_MOVEPATH_TRAJECTORY_MAIN_AXIS_DEFAULT   0
 
#define DF_INOS_MOVEPATH_TRAJECTORY_LOGGING_MASK   "Trajectory.Logging.Mask"
 
#define DF_INOS_MOVEPATH_TRAJECTORY_LOGGING_MASK_DEFAULT   0x00000001
 
#define DF_INOS_MOVEPATH_TRAJECTORY_LOGGING_MASK_NONE   0.0
 
#define DF_INOS_MOVEPATH_TRAJECTORY_LOGGING_MASK_PATHS   0x00000001
 
#define DF_INOS_MOVEPATH_TRAJECTORY_BUFFER_TYPE_NAME   "Trajectory.Buffer.Type"
 
#define DF_INOS_MOVEPATH_TRAJECTORY_BUFFER_TYPE_DEFAULT   "active"
 
#define DF_INOS_MOVEPATH_TRAJECTORY_BUFFER_TYPE_NONE   "none"
 
#define DF_INOS_MOVEPATH_TRAJECTORY_BUFFER_TYPE_ACTIVE   "active"
 
#define DF_INOS_MOVEPATH_TRAJECTORY_BUFFER_TYPE_PASSIVE   "passive"
 
#define DF_INOS_MOVEPATH_TRAJECTORY_BUFFER_SIZE_NAME   "Trajectory.Buffer.Size"
 
#define DF_INOS_MOVEPATH_TRAJECTORY_BUFFER_SIZE_DEFAULT   256
 
#define DF_INOS_MOVEPATH_TRAJECTORY_BUFFER_READY_NAME   "Trajectory.Buffer.Ready"
 
#define DF_INOS_MOVEPATH_TRAJECTORY_BUFFER_READY_DEFAULT   16
 
#define DF_INOS_MOVEPATH_TRAJECTORY_BUFFER_READY_FULL_PATH   0xffffffff
 
#define DF_INOS_MOVEPATH_TRAJECTORY_BUFFER_LOW_NAME   "Trajectory.Buffer.Low"
 
#define DF_INOS_MOVEPATH_TRAJECTORY_BUFFER_LOW_DEFAULT   192
 
#define DF_INOS_MOVEPATH_TRAJECTORY_FILTER_LENGTH_NAME   "Trajectory.Filter.Length"
 
#define DF_INOS_MOVEPATH_TRAJECTORY_FILTER_LENGTH_DEFAULT   0
 
#define DF_INOS_MOVEPATH_TRAJECTORY_FOLLOW_ENABLE_NAME   "Trajectory.Follow.Enable"
 
#define DF_INOS_MOVEPATH_TRAJECTORY_FOLLOW_ENABLE_DEFAULT   0
 
#define DF_INOS_MOVEPATH_TRAJECTORY_FOLLOW_INDEX_NAME   "Trajectory.Follow.Index"
 
#define DF_INOS_MOVEPATH_TRAJECTORY_FOLLOW_INDEX_DEFAULT   3
 
#define DF_INOS_MOVEPATH_TRAJECTORY_FOLLOW_UNIT_NAME   "Trajectory.Follow.Unit"
 
#define DF_INOS_MOVEPATH_TRAJECTORY_FOLLOW_UNIT_DEFAULT   0
 
#define DF_INOS_MOVEPATH_TRAJECTORY_CONSTANT_CHECK_VELOCITY   "Trajectory.Constant.CheckVelocity"
 
#define DF_INOS_MOVEPATH_TRAJECTORY_CONSTANT_CHECK_VELOCITY_NONE   0.0
 
#define DF_INOS_MOVEPATH_TRAJECTORY_CONSTANT_CHECK_VELOCITY_DEFAULT   0.0
 
#define DF_INOS_MOVEPATH_TRAJECTORY_CONSTANT_CHECK_VELOCITY_REDUCE   2.0
 
#define DF_INOS_MOVEPATH_TRAJECTORY_CONSTANT_CHECK_VELOCITY_ONLY   1.0
 
#define DF_INOS_MOVEPATH_TRAJECTORY_CONSTANT_CHECK_VELOCITY_OVERSAMPLING   "Trajectory.Constant.CheckVelocity.Oversampling"
 
#define DF_INOS_MOVEPATH_TRAJECTORY_CONSTANT_CHECK_VELOCITY_OVERSAMPLING_DEFAULT   1.0
 
#define DF_INOS_MOVEPATH_TRAJECTORY_SEGMENT_CUBIC_REDUCTION_NAME   "Trajectory.Segment.CubicReduction"
 
#define DF_INOS_MOVEPATH_TRAJECTORY_SEGMENT_CUBIC_REDUCTION_DEFAULT   1.0
 
#define DF_INOS_MOVEPATH_PARAM_SPEEDSET   "SpeedSet"
 
#define DF_INOS_MOVEPATH_PARAM_SLOWMOTION   "SlowMotion"
 
#define DF_INOS_MOVEPATH_PARAM_TOLERANCE   "Tolerance"
 
#define DF_INOS_MOVEPATH_PARAM_VMAX   "Vmax"
 
#define DF_INOS_MOVEPATH_PARAM_VTRQ   "Vtrq"
 
#define DF_INOS_MOVEPATH_PARAM_AMAX   "Amax"
 
#define DF_INOS_MOVEPATH_PARAM_ATRQ   "Atrq"
 
#define DF_INOS_MOVEPATH_PARAM_BMAX   "Bmax"
 
#define DF_INOS_MOVEPATH_PARAM_BTRQ   "Btrq"
 
#define DF_INOS_MOVEPATH_PARAM_JMAX   "Jmax"
 
#define DF_INOS_MOVEPATH_APPROACH_NAME   "Approach"
 
#define DF_INOS_MOVEPATH_APPROACH_DEFAULT   0
 
#define DF_INOS_MOVEPATH_APPROACH_DISTANCE_NAME   "Approach.Distance"
 
#define DF_INOS_MOVEPATH_APPROACH_DISTANCE_DEFAULT   5.0
 
#define DF_INOS_MOVEPATH_APPROACH_VELOCITY_NAME   "Approach.Velocity"
 
#define DF_INOS_MOVEPATH_APPROACH_VELOCITY_DEFAULT   1.0
 
#define DF_INOS_MOVEPATH_RAPID_GATE_INVERT_NAME   "RapidGateInverted"
 
#define DF_INOS_MOVEPATH_RAPID_GATE_INVERT_DEFAULT   0.0
 
#define DF_INOS_EVENT_LOGGER_FONT_COLOR_MOVEPATH_CREATE   0x00808000
 
#define DF_INOS_EVENT_LOGGER_FONT_COLOR_MOVEPATH_RUN   0x00008080
 
#define MOVEPATH_TRACE_CREATE(path, apFormat, aArgs...)
 
#define MOVEPATH_TRACE_RUN(path, apFormat, aArgs...)
 

Typedefs

typedef TINOSVector< DF_INOS_MOVEPATH_MAX_AXESTINOSMovePathVec
 

Detailed Description

The CINOSMovePath class.

Author
Ch. Hirzel
Remarks
project         : MovePath handling
language        : Gnu C++
system          : PowerPC

This class provides the 'MovePath' functionality

Macro Definition Documentation

◆ DF_INOS_MOVEPATH_APPROACH_DISTANCE_NAME

#define DF_INOS_MOVEPATH_APPROACH_DISTANCE_NAME   "Approach.Distance"

Approach distance

◆ DF_INOS_MOVEPATH_APPROACH_NAME

#define DF_INOS_MOVEPATH_APPROACH_NAME   "Approach"

Approach at end of path ?

◆ DF_INOS_MOVEPATH_APPROACH_VELOCITY_NAME

#define DF_INOS_MOVEPATH_APPROACH_VELOCITY_NAME   "Approach.Velocity"

Approach velocity

◆ DF_INOS_MOVEPATH_FLAG_ABS

#define DF_INOS_MOVEPATH_FLAG_ABS   0x00000001

Absolute positions

◆ DF_INOS_MOVEPATH_FLAG_CONTINUATION

#define DF_INOS_MOVEPATH_FLAG_CONTINUATION   0x02000000

Curve is continuation of a previous incomplete curve

◆ DF_INOS_MOVEPATH_FLAG_CURVE_OWNED

#define DF_INOS_MOVEPATH_FLAG_CURVE_OWNED   0x01000000

Curve is owned by movepath (will be deleted if movepath is deleted).

◆ DF_INOS_MOVEPATH_FLAG_INC

#define DF_INOS_MOVEPATH_FLAG_INC   0x00000002

Relative positions

◆ DF_INOS_MOVEPATH_FLAG_INCOMPLETE

#define DF_INOS_MOVEPATH_FLAG_INCOMPLETE   0x04000000

Curve is not complete yet, more segments to be added later

◆ DF_INOS_MOVEPATH_FLAG_NLG

#define DF_INOS_MOVEPATH_FLAG_NLG   0x00000004

Axis is not length relevant, e.g. in a XYZC system, the C axis should not be taken into account for the vector length calculation

◆ DF_INOS_MOVEPATH_FLAG_NO

#define DF_INOS_MOVEPATH_FLAG_NO   0x00000000

None

◆ DF_INOS_MOVEPATH_FLAG_OFFSET_ZERO

#define DF_INOS_MOVEPATH_FLAG_OFFSET_ZERO   0x40000000

Curve is zero based. This option makes only sense if the movepath is relocatable, handled passive and the application adds its own offset before handling the value over to the axis.

◆ DF_INOS_MOVEPATH_FLAG_RAW

#define DF_INOS_MOVEPATH_FLAG_RAW   0x00000008

Curve has to be used raw. Means the system must not optimize away too short segments

◆ DF_INOS_MOVEPATH_FLAG_RELOCATABLE

#define DF_INOS_MOVEPATH_FLAG_RELOCATABLE   0x80000000

Curve is relocatable. It tells the system to add a corresponding offset to the given curve coordiates at movepath start

◆ DF_INOS_MOVEPATH_HELPER_CORE_NAME

#define DF_INOS_MOVEPATH_HELPER_CORE_NAME   "Helper.Core"

Helper thread core

◆ DF_INOS_MOVEPATH_HELPER_PRIORITY_NAME

#define DF_INOS_MOVEPATH_HELPER_PRIORITY_NAME   "Helper.Priority"

Helper thread priority

◆ DF_INOS_MOVEPATH_ID_DEFAULT

#define DF_INOS_MOVEPATH_ID_DEFAULT   0xffffffff

Default segment id, Bit 31 is currently/temporary reserved to mark a stop at segment boundary (see CINOSMovePathTrajectorySegment::GenData)

◆ DF_INOS_MOVEPATH_INTERPOLATOR_CLOTHOID_PURE

#define DF_INOS_MOVEPATH_INTERPOLATOR_CLOTHOID_PURE   "Clothoid.Pure"

Defines whether the clothoid interpolator should work with pure clothoids (german 'Scheitelklothoiden' or not handled with a pre and post stop.

0.0 : disabled

◆ DF_INOS_MOVEPATH_INTERPOLATOR_CLOTHOID_R

#define DF_INOS_MOVEPATH_INTERPOLATOR_CLOTHOID_R   "Clothoid.R"

Defines the clothoid parameters

R : radius L : length A : general, A=sqrt(R*L)

◆ DF_INOS_MOVEPATH_INTERPOLATOR_CLOTHOID_REDUCE

#define DF_INOS_MOVEPATH_INTERPOLATOR_CLOTHOID_REDUCE   "Clothoid.Reduce"

Defines whether the clothoid interpolator should automatically reduce clothoid parameters r,l,a to fit the clothoids into the given linear segments

0.0 : disabled

◆ DF_INOS_MOVEPATH_INTERPOLATOR_NURBS_D3_FACTOR

#define DF_INOS_MOVEPATH_INTERPOLATOR_NURBS_D3_FACTOR   "Nurbs.D3Factor"

The maximal third derivative of the nurbs curve is calculated by taking the second derivative at curve length * this factor points and calculating the linear approximation of the derivative between these points.

◆ DF_INOS_MOVEPATH_INTERPOLATOR_NURBS_INTERPOLATION_POINTS

#define DF_INOS_MOVEPATH_INTERPOLATOR_NURBS_INTERPOLATION_POINTS   "Nurbs.InterpolationPoints"

Non linear segments are vectorized, before given to nurbs interpolator. The given tolerance * this factor is the max allowed error, between real curve and the vector

◆ DF_INOS_MOVEPATH_INTERPOLATOR_NURBS_MAX_ANGLE

#define DF_INOS_MOVEPATH_INTERPOLATOR_NURBS_MAX_ANGLE   "Nurbs.MaxAngle"

Defines the max. allowed angle between two consecutive linear segments that is handled without an explicit stop

0.0 : disabled

◆ DF_INOS_MOVEPATH_INTERPOLATOR_NURBS_MAX_LENGTH

#define DF_INOS_MOVEPATH_INTERPOLATOR_NURBS_MAX_LENGTH   "Nurbs.MaxLength"

Linear segments that are longer than the given length are always handled separately. This allows the segment trajectory generator to speedup the path velocity accordingly during this part of the path.

0.0 : disabled

◆ DF_INOS_MOVEPATH_INTERPOLATOR_NURBS_OVERLAP

#define DF_INOS_MOVEPATH_INTERPOLATOR_NURBS_OVERLAP   "Nurbs.Overlap"

Only valid together with "Nurbs.MaxLength". To smoothen the transition between the linear segment longer than Nurbs.MaxLength and the next/previous part, one can define an overlap distance which is used to add an additional nurbs point. A good choice is e.g. a 10th of Nurbs.MaxLength

0.0 : disabled

◆ DF_INOS_MOVEPATH_INTERPOLATOR_NURBS_VECTORIZE_FACTOR

#define DF_INOS_MOVEPATH_INTERPOLATOR_NURBS_VECTORIZE_FACTOR   "Nurbs.Vectorize"

Non linear segments are vectorized, before given to nurbs interpolator. The given tolerance * this factor is the max allowed error, between real curve and the vector

◆ DF_INOS_MOVEPATH_INTERPOLATOR_SHAPE_ON_SHRINK_NAME

#define DF_INOS_MOVEPATH_INTERPOLATOR_SHAPE_ON_SHRINK_NAME   "Shape.OnShrink"

Define what the shape interpolator should do if a transition segment needs to be shrinked

0 : reduce path velocity to not exceed Acmd of any axis 1 : stop at segment boundary (default) 2 : emit an error 3 : reduce path velocity to not exceed Jcmd of any axis

◆ DF_INOS_MOVEPATH_MCROBOT_PREPAREPATH_NAME

#define DF_INOS_MOVEPATH_MCROBOT_PREPAREPATH_NAME   "McRobot.PreparePath"

Define what the PreparePath method should do if an error occurs

0 : only return error code 1 : set module to error and emit a corresponding message

◆ DF_INOS_MOVEPATH_OPTION_ALL

#define DF_INOS_MOVEPATH_OPTION_ALL
Value:
#define DF_INOS_MOVEPATH_OPTION_REGISTER_INCO
Definition cinosmovepath.h:129
#define DF_INOS_MOVEPATH_OPTION_ASYNCH_SUPPORT
Definition cinosmovepath.h:125
#define DF_INOS_MOVEPATH_OPTION_EXCEPTION_SUPPORT
Definition cinosmovepath.h:121

Switch on C++ execption support, asynchronous support and INCO tree registration

◆ DF_INOS_MOVEPATH_OPTION_ASYNCH_SUPPORT

#define DF_INOS_MOVEPATH_OPTION_ASYNCH_SUPPORT   uint32(0x00000002)

Switch on asynchronous support with a internal helper task

◆ DF_INOS_MOVEPATH_OPTION_DEFAULT

#define DF_INOS_MOVEPATH_OPTION_DEFAULT    DF_INOS_MOVEPATH_OPTION_NONE

Use default options

◆ DF_INOS_MOVEPATH_OPTION_EXCEPTION_SUPPORT

#define DF_INOS_MOVEPATH_OPTION_EXCEPTION_SUPPORT   uint32(0x00000001)

Switch on C++ exception support

◆ DF_INOS_MOVEPATH_OPTION_NONE

#define DF_INOS_MOVEPATH_OPTION_NONE   uint32(0x00000000)

None

◆ DF_INOS_MOVEPATH_OPTION_REGISTER_INCO

#define DF_INOS_MOVEPATH_OPTION_REGISTER_INCO   uint32(0x00000004)

Register path in INCO tree

◆ DF_INOS_MOVEPATH_PARAM_AMAX

#define DF_INOS_MOVEPATH_PARAM_AMAX   "Amax"

Param name of 'Amax'

◆ DF_INOS_MOVEPATH_PARAM_ATRQ

#define DF_INOS_MOVEPATH_PARAM_ATRQ   "Atrq"

Param name of 'Atrq'

◆ DF_INOS_MOVEPATH_PARAM_BMAX

#define DF_INOS_MOVEPATH_PARAM_BMAX   "Bmax"

Param name of 'Bmax'

◆ DF_INOS_MOVEPATH_PARAM_BTRQ

#define DF_INOS_MOVEPATH_PARAM_BTRQ   "Btrq"

Param name of 'Btrq'

◆ DF_INOS_MOVEPATH_PARAM_JMAX

#define DF_INOS_MOVEPATH_PARAM_JMAX   "Jmax"

Param name of 'Jmax'

◆ DF_INOS_MOVEPATH_PARAM_SLOWMOTION

#define DF_INOS_MOVEPATH_PARAM_SLOWMOTION   "SlowMotion"

Param name of 'SlowMotion'

◆ DF_INOS_MOVEPATH_PARAM_SPEEDSET

#define DF_INOS_MOVEPATH_PARAM_SPEEDSET   "SpeedSet"

Param name of 'SpeedSet'

◆ DF_INOS_MOVEPATH_PARAM_TOLERANCE

#define DF_INOS_MOVEPATH_PARAM_TOLERANCE   "Tolerance"

Param name of global 'Tolerance'

◆ DF_INOS_MOVEPATH_PARAM_VMAX

#define DF_INOS_MOVEPATH_PARAM_VMAX   "Vmax"

Param name of 'Vmax'

◆ DF_INOS_MOVEPATH_PARAM_VTRQ

#define DF_INOS_MOVEPATH_PARAM_VTRQ   "Vtrq"

Param name of 'Vtrq'

◆ DF_INOS_MOVEPATH_PREPARE_HELPER_CORE_NAME

#define DF_INOS_MOVEPATH_PREPARE_HELPER_CORE_NAME   "PrepareHelper.Core"

Prepare helper thread core

◆ DF_INOS_MOVEPATH_PREPARE_HELPER_PRIORITY_NAME

#define DF_INOS_MOVEPATH_PREPARE_HELPER_PRIORITY_NAME   "PrepareHelper.Priority"

Prepare helper thread priority

◆ DF_INOS_MOVEPATH_RAPID_GATE_INVERT_NAME

#define DF_INOS_MOVEPATH_RAPID_GATE_INVERT_NAME   "RapidGateInverted"

Param name of 'RapidGateOutput''

◆ DF_INOS_MOVEPATH_RUN_HELPER_CORE_NAME

#define DF_INOS_MOVEPATH_RUN_HELPER_CORE_NAME   "RunHelper.Core"

Run helper thread core

◆ DF_INOS_MOVEPATH_RUN_HELPER_PRIORITY_NAME

#define DF_INOS_MOVEPATH_RUN_HELPER_PRIORITY_NAME   "RunHelper.Priority"

Run helper thread priority

◆ DF_INOS_MOVEPATH_THE_END

#define DF_INOS_MOVEPATH_THE_END   1

Last point reached

◆ DF_INOS_MOVEPATH_TOLERANCE_DEFAULT

#define DF_INOS_MOVEPATH_TOLERANCE_DEFAULT   -1.0

Default tolerance

◆ DF_INOS_MOVEPATH_TOLERANCE_MIN

#define DF_INOS_MOVEPATH_TOLERANCE_MIN   1.0e-4

Min allowed tolerance

◆ DF_INOS_MOVEPATH_TRAJECTORY_BUFFER_LOW_NAME

#define DF_INOS_MOVEPATH_TRAJECTORY_BUFFER_LOW_NAME   "Trajectory.Buffer.Low"

Default trajectory buffer low level

◆ DF_INOS_MOVEPATH_TRAJECTORY_BUFFER_READY_NAME

#define DF_INOS_MOVEPATH_TRAJECTORY_BUFFER_READY_NAME   "Trajectory.Buffer.Ready"

Default trajectory buffer ready level

◆ DF_INOS_MOVEPATH_TRAJECTORY_BUFFER_SIZE_NAME

#define DF_INOS_MOVEPATH_TRAJECTORY_BUFFER_SIZE_NAME   "Trajectory.Buffer.Size"

Default trajectory buffer size

◆ DF_INOS_MOVEPATH_TRAJECTORY_BUFFER_TYPE_NAME

#define DF_INOS_MOVEPATH_TRAJECTORY_BUFFER_TYPE_NAME   "Trajectory.Buffer.Type"

Default trajectory buffer type

Possible types are :

'none' : the trajectory generator pulls the data direct to the axes 'active' : the trajectory generator writes the data to an intermediate buffer and a synchronous axes hook reads the data from the buffer and pulls them to the axes 'passive': the trajectory generator writes the data to an intermediate buffer and user code is responsible to read if from the buffer and pulls it to the axes

◆ DF_INOS_MOVEPATH_TRAJECTORY_CONSTANT_CHECK_VELOCITY

#define DF_INOS_MOVEPATH_TRAJECTORY_CONSTANT_CHECK_VELOCITY   "Trajectory.Constant.CheckVelocity"

Constant trajectory, check velocity before run

Possible values are

0 : no check at all 1 : check and return with error if the requested velocity is to big 2 : check and automatically reduce velocity to the max. possible one

◆ DF_INOS_MOVEPATH_TRAJECTORY_CONSTANT_CHECK_VELOCITY_OVERSAMPLING

#define DF_INOS_MOVEPATH_TRAJECTORY_CONSTANT_CHECK_VELOCITY_OVERSAMPLING   "Trajectory.Constant.CheckVelocity.Oversampling"

Constant trajectory, oversampling to calc max. allowed velocity

To calculate the max. allowed constant velocity a path can be run with without violating any axes limits (V, A, B, J), the algorithm uses a step size of required path V / cycletime (e.g. (1000mm/s) / (4000*1/s) = 0.25mm)

To get a more accurate result, one can set a required oversampling (e.g. 100).

◆ DF_INOS_MOVEPATH_TRAJECTORY_FILTER_LENGTH_NAME

#define DF_INOS_MOVEPATH_TRAJECTORY_FILTER_LENGTH_NAME   "Trajectory.Filter.Length"

Default trajectory filter length

◆ DF_INOS_MOVEPATH_TRAJECTORY_FOLLOW_ENABLE_NAME

#define DF_INOS_MOVEPATH_TRAJECTORY_FOLLOW_ENABLE_NAME   "Trajectory.Follow.Enable"

Trajectory axis follow mechanism

If enabled a trajectory for axis 'INDEX' is generated, that follows the tangent of axis with index 0 and 1 (e.g. if running a circle with X and Y, the T axis can follow the circle to e.g. command a cutting knife)

Follow unit :

0 : degrees 1 : radiant

◆ DF_INOS_MOVEPATH_TRAJECTORY_LOGGING_MASK

#define DF_INOS_MOVEPATH_TRAJECTORY_LOGGING_MASK   "Trajectory.Logging.Mask"

Trajectory logging options

Bit 0 : enable update of Axis.MyAxis.Control.Cmd.pathS

◆ DF_INOS_MOVEPATH_TRAJECTORY_MAIN_AXIS_NAME

#define DF_INOS_MOVEPATH_TRAJECTORY_MAIN_AXIS_NAME   "Trajectory.MainAxis"

Trajectory main axis (e.g. ramp geni is cloned from this axis)

◆ DF_INOS_MOVEPATH_TRAJECTORY_SEGMENT_CUBIC_REDUCTION_NAME

#define DF_INOS_MOVEPATH_TRAJECTORY_SEGMENT_CUBIC_REDUCTION_NAME   "Trajectory.Segment.CubicReduction"

Cubic segment max A/B reduction

◆ DF_INOS_MOVEPATH_VELOCITY_DEFAULT

#define DF_INOS_MOVEPATH_VELOCITY_DEFAULT   -1.0

Default velocity