SMC_TG_Ramp_ValidDynRange (FUN) ¶ FUNCTION SMC_TG_Ramp_ValidDynRange : BOOL Given an initial state of motion dynOrigin, the maximal and minimal position, velocity and acceleration are being returned that can be reached within fInterval w.r.t. the limits inside lim. One can choose, if lim.fVMax shall be taken into account or not (bRespectsMaxVel). The calculation is being done by a quadratic or a trapezoid ramp, depending on the input bRespectsMaxJerk. needed at least for testing purposes (and probably in SMC_MotionKernel_PTP.FollowPCS, too) InOut: Scope Name Type Return SMC_TG_Ramp_ValidDynRange BOOL Inout dynMax SMC_TG_DynState dynMin SMC_TG_DynState Inout Const dynOrigin SMC_TG_DynState lim SMC_Q_LIMITS Input fInterval LREAL bRespectMaxVel BOOL bRespectMaxJerk BOOL
Interfaces ¶ SMC_TG_IRAMP (Interface) Interpolate (Method) Set (Method) SMC_TG_IRAMPTYPE (Interface) GetMonotonicityBoundariesEnd (Method) GetMonotonicityBoundariesStart (Method) IsAllowedAccelerationJump (Property) IsInterruptible (Property) Select (Method)
SMC_TG_IRAMP (ITF) ¶ INTERFACE SMC_TG_IRAMP Corresponds to an instance of an acceleration- or deceleration-ramp Methods: Interpolate Set Structure: Interpolate (Method) Set (Method)
SMC_TG_IRAMP.Interpolate (METH) ¶ METHOD Interpolate Once the ramp is set up (using the method Set), this method returns the distance, velocity, acceleration and jerk at time fTime. Otherwise, it returns 0 in all members of dyn. InOut: Scope Name Type Inout dyn SMC_TG_DynState Input fTime LREAL
SMC_TG_IRAMP.Set (METH) ¶ METHOD Set InOut: Scope Name Type Comment Inout Const lim SMC_Q_LIMITS the dynamic limits boun SMC_TG_RAMP_BOUNDARIES start- and end-velocity (fV0, fV1) resp. -acceleration (fA0, fA1) Output fDistance LREAL the position difference caused by the ramp fDuration LREAL the duration of the ramp
SMC_TG_IRAMPTYPE (ITF) ¶ INTERFACE SMC_TG_IRAMPTYPE Properties: IsAllowedAccelerationJump IsInterruptible Methods: GetMonotonicityBoundariesEnd GetMonotonicityBoundariesStart Select Structure: GetMonotonicityBoundariesEnd (Method) GetMonotonicityBoundariesStart (Method) IsAllowedAccelerationJump (Property) IsInterruptible (Property) Select (Method)
SMC_TG_IRAMPTYPE.GetMonotonicityBoundariesEnd (METH) ¶ METHOD GetMonotonicityBoundariesEnd Given the end-velocity and end-acceleration, compute those start-velocities such that (starting with acceleration 0) the covered distance is locally minimal or maximal with respect to the start-velocity. InOut: Scope Name Type Comment Inout av ARRAY [0..(SMC_gc_maxMonotonicityBoundaries - 1)] OF LREAL Array containing the results of the computation (start- velocities) Inout Const lim SMC_Q_LIMITS Input param SMC_TG_MonotonicityParams Output nrBoundaries SINT The number of monotonicity boundaries
SMC_TG_IRAMPTYPE.GetMonotonicityBoundariesStart (METH) ¶ METHOD GetMonotonicityBoundariesStart Given the start-velocity and start-acceleration, compute those end-velocities such that (arriving with acceleration 0) the covered distance is locally minimal or maximal with respect to the end-velocity. InOut: Scope Name Type Comment Inout av ARRAY [0..(SMC_gc_maxMonotonicityBoundaries - 1)] OF LREAL Array containing the results of the computation (end- velocities). Inout Const lim SMC_Q_LIMITS Input param SMC_TG_MonotonicityParams Output nrBoundaries SINT The number of monotonicity boundaries
SMC_TG_IRAMPTYPE.IsAllowedAccelerationJump (PROP) ¶ PROPERTY IsAllowedAccelerationJump : BOOL FALSE, if the ramptype respects the jerk-limit inside SMC_Q_LIMITS
SMC_TG_IRAMPTYPE.IsInterruptible (PROP) ¶ PROPERTY IsInterruptible : BOOL Whether this ramptype is interruptible, that is, taking a point from the interpolation of the ramp and recomputing the ramp from there to the original end conditions approximately leads to the remaining part of the ramp.