Trj_EvalCache.FindCacheEndPos (METH) ¶ METHOD FINAL FindCacheEndPos : BOOL Searches for the last axis position stored in the cache, i.e. the axis position that is stored in the last non empty cache slot. InOut: Scope Name Type Comment Inout errCtx SMRE.ErrorContext endPos TRAFO.AXISPOS_REF The found axis position. Return FindCacheEndPos BOOL Output k UDINT Index of the path element the cache slot that contains the found axis position belongs to. dS LREAL Offset of the cache slot that contains the found axis position, relative to the start of the element.
Trj_EvalCache.GetARefForPos (METH) ¶ METHOD FINAL GetARefForPos : BOOL Returns the reference axis position that should be used for evaluating at position dS. InOut: Scope Name Type Comment Inout errCtx SMRE.ErrorContext aRef TRAFO.AXISPOS_REF Input k UDINT The index of the element in m_cache (starting at 0) dS LREAL The position relative to the element at index k Return GetARefForPos BOOL
Trj_EvalCache.GetAxesPos (METH) ¶ METHOD FINAL GetAxesPos : BOOL Returns a reference axis position that is close to dS. InOut: Scope Name Type Comment Inout errCtx SMRE.ErrorContext a PathElemAxisPos An axis position close to dS Input k UDINT The index of the element in m_cache (starting at 0) dS LREAL The position relative to the element at index k Return GetAxesPos BOOL
Trj_EvalCache.GetAxisStartPos (METH) ¶ METHOD PUBLIC FINAL GetAxisStartPos Returns the start position of all axes at the beginning of the cache. (Updated whenever an element is removed from the start of the cache.) InOut: Scope Name Type Inout axesStart TRAFO.AXISPOS_REF
Trj_EvalCache.Eval (METH) ¶ METHOD FINAL Eval Evaluates the path at a given position, filling the cache as necessary. InOut: Scope Name Type Comment Inout Const cacheElem Trj_CacheElem Input dS LREAL Inout uq SMRB.DynV2State md SMDYN.ManipulatorDynStateT psArc ParamState The value and derivatives of the parameter transformation from the interpolation parameter x to the arc length s. For axis space movements, the members are zero.
Trj_EvalCache.EvalSlot (METH) ¶ METHOD FINAL EvalSlot InOut: Scope Name Type Comment Inout uq SMRB.DynV2State md SMDYN.ManipulatorDynStateT psArc ParamState Out: The value and derivatives of the parameter transformation from the interpolation parameter x to the arc length s. For axis space movements, the members are zero. Inout Const slot Trj_CacheSlot
Trj_EvalCache.CutSuffixOfLastElem (METH) ¶ METHOD FINAL CutSuffixOfLastElem : BOOL InOut: Scope Name Type Inout errCtx SMRE.ErrorContext Inout Const peCut PathElem Return CutSuffixOfLastElem BOOL
Trj_Cache_Slot_In_Elem (FUN) ¶ FUNCTION Trj_Cache_Slot_In_Elem : BOOL InOut: Scope Name Type Inout Const elem Trj_CacheElem Input idxSlot UDINT Return Trj_Cache_Slot_In_Elem BOOL
Trj_CP_Single (FB) ¶ FUNCTION_BLOCK FINAL Trj_CP_Single Computation of continuous path trajectories. This is the main function block for our CP (continuous path) algorithm. It will compute a trajectory up to a given distance on the path, assuming the path and its first two derivatives w.r.t. the arc length has no discontinuities. The main interface for this FB is Trj_JerkBounds, which is passed as a parameter to the Next method. For each state, consisting of the position on the path, the path velocity and the path acceleration, Trj_JerkBounds computes the maximum and minimum admissible path jerk. The resulting trajectory is stored in a queue of type Trj_SampleQueue. This queue is task-safe: a different task can read and remove values from this queue concurrently. Methods: CommitNewTrajectory NewSafeTrajectory NewTargetTrajectory Structure: CommitNewTrajectory (Method) NewSafeTrajectory (Method) NewTargetTrajectory (Method)
Trj_CP_Single.CommitNewTrajectory (METH) ¶ METHOD FINAL CommitNewTrajectory : BOOL InOut: Scope Name Type Inout trs Trj_State result Trj_PlanningResult errCtx SMRE.ErrorContext Inout Const iv_new Trj_Interval Input dTs LREAL Return CommitNewTrajectory BOOL