TrajectoryPlanner_MVC (FB) ¶ FUNCTION_BLOCK FINAL TrajectoryPlanner_MVC InOut: Scope Name Type Comment Inout jb Trj_JerkBounds Inout Const pathIn PathQueue trs Trj_State Input dTs LREAL phaseType Trj_PhaseType Output vel_cur LREAL The current value of the maximum velocity curve. jMinAvoidNegVel LREAL If the current path acceleration (wCur.da) is negative, the smallest jerk that will avoid a negative velocity in the future, if applied constantly. Computed as 1/2 * a^2 / v. vel_max LREAL The maximum velocity of the ipo param that avoids that the jerk bounds of an axis is violated only due to the velocity (assuming the acceleration at the start of the planning cycle.) acc_min LREAL The minimum acceleration of the ipo param that still avoids MAX_JERK phases where the minimum jerk is positive and MIN_JERK phases where the maximum jerk is negative. acc_max LREAL The maximum acceleration of the ipo param that still avoids MAX_JERK phases where the minimum jerk is positive and MIN_JERK phases where the maximum jerk is negative. j_low LREAL The minimum jerk of the ipo param. j_hgh LREAL The maximum jerk of the ipo param. fECS_Cur SM3M.SMC_Frame The ECS evaluated at the time of the current planning position.
Trj_SampleQueue.GetDuration (METH) ¶ METHOD FINAL GetDuration : LREAL Returns the total duration in seconds stored in the queue. InOut: Scope Name Type Comment Return GetDuration LREAL Output durationUntilFinalTau3Phase LREAL The duration until the final tau3 phase. If the queue does not end on a tau3 phase, the total duration is returned.
Trj_SampleQueue.GetFromEnd (METH) ¶ METHOD FINAL GetFromEnd : POINTER TO Trj_Sample Returns a pointer to the n-last sample if the queue is at least n elements, otherwise 0. The pointer is valid until the next call to RemoveFirst. Only to be called safely from the writing task, or when it is made sure that no elements are removed concurrently. InOut: Scope Name Type Input n UDINT Return GetFromEnd POINTER TO Trj_Sample
Trj_SampleQueue.Full (METH) ¶ METHOD FINAL Full : BOOL Returns whether the queue is full. InOut: Scope Name Type Return Full BOOL
Trj_SampleQueue.CopyRange (METH) ¶ METHOD FINAL CopyRange : BOOL Copies at most nSamples samples from the sampleQueue to this queue, starting with the sample at iFirstSample . Only fails, if there is not enough space left in this queue. Has to be called from a task that is the producer task of this queue, but the consumer task of the input sampleQueue . InOut: Scope Name Type Inout Const sampleQueue Trj_SampleQueue Input iFirstSample UDINT nSamples UDINT Return CopyRange BOOL
Trj_SampleQueue.GetWritePos (METH) ¶ METHOD FINAL GetWritePos : UDINT InOut: Scope Name Type Return GetWritePos UDINT
Trj_SampleQueue.GetReadPos (METH) ¶ METHOD PUBLIC FINAL GetReadPos InOut: Scope Name Type Inout readCursor Trj_SampleQueue_Cursor
Trj_SampleQueue.GetSampleDuration (METH) ¶ METHOD FINAL GetSampleDuration : LREAL Returns the duration of the sample at a given position in the queue. The duration is returned in seconds. InOut: Scope Name Type Input posFromStart UDINT Return GetSampleDuration LREAL
Trj_SampleQueue.Init (METH) ¶ METHOD FINAL Init : BOOL InOut: Scope Name Type Input pD POINTER TO ARRAY [0..0] OF Trj_Sample udiSizeDataBytes UDINT taskCycleTime LREAL Return Init BOOL
Trj_SampleQueue.IsEmpty (METH) ¶ METHOD FINAL IsEmpty : BOOL InOut: Scope Name Type Return IsEmpty BOOL