Документ взят из кэша поисковой машины. Адрес оригинального документа : http://www.apo.nmsu.edu/Telescopes/TCC/html/namespacetcc_1_1mov_1_1trap_slew.html
Дата изменения: Tue Sep 15 02:25:41 2015
Дата индексирования: Sun Apr 10 04:41:35 2016
Кодировка:

Поисковые слова: рер р р р р р р р р р р р р р
lsst.tcc: tcc.mov.trapSlew Namespace Reference
lsst.tcc  1.2.2-3-g89ecb63
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Classes | Functions | Variables
tcc.mov.trapSlew Namespace Reference

Classes

class  TrapSlewData
 Data returned by trapSlew. More...
 

Functions

def trapSlew
 Compute a trapezoidal slew. More...
 

Variables

list __all__ = ["trapSlew"]
 
float Fudge = 1.05
 

Function Documentation

def tcc.mov.trapSlew.trapSlew (   rBAi,
  vA,
  vB,
  dt2min,
  vMax,
  aMax 
)

Compute a trapezoidal slew.

You may specify a minimum duration for the constant-velocity segment, which is useful for "rounding the corners" of the slew to make it jerk-limited (see mov.fullSlew).

Parameters
[in]rBAidistance between "A" and "B" at time t = 0 (deg)
[in]vAvelocity of "A" (deg/sec)
[in]vBvelocity of "B" (deg/sec)
[in]dt2minminimum duration of segment 2 (constant velocity) (sec)
[in]vMaxmaximum allowed velocity (deg/sec)
[in]aMaxmaximum allowed acceleration (deg/sec^2)
Returns
a TrapSlewData
Exceptions
RuntimeErrorif:
  • dt2min < 0
  • vMax <= 0
  • aMax <= 0
  • |vB| > vMax / Fudge

Dies if vMax or aMax are so small as to cause under- or over-flow.

Details: The magic number "Fudge" is used to avoid borderline cases. It is set below, and should be a number a bit bigger than one.

How it works: The slew begins by tracking object A, and ends by tracking object B. Both objects are assumed to be moving at constant velocity.

A trapezoidal slew has three segments, two of constant acceleration separated by a constant velocity segment. It is called "trapezoidal" because that is the shape of the v vs. t curve.

Here are the initial velocity and constant acceleration for each segment, and the duration of that segment, in the notation of this subroutine:

segment v a duration 1 vA a1 dt1 2 vP 0 dt2 3 vP a2 dt3

The slew numbering and notation used in this subroutine are quite different than those used in the math notebook. Significant changes include: dt2 = delta-t3 in notebook slew type 0 is not mentioned in the notebook slew type 1 = notebook type 0 slew type 2 = notebook type 1 slew type 3, 4 = notebook type 3 note that the notebook type 2 slew (the only "reversed" slew) is NOT USED by this subroutine, because it is not needed, and it saves the bother of implementing the reversed slew equations; instead, a type 3 or 4 slew (this subr.) is used with reduced acceleration.

References: "Control of the Apache Point 3.5m Telescope: Slewing", R. Owen, 1990, unpub

TCC Math Notebook, section on slewing (warning: different notation)

History: 2013-12-06 ROwen Converted from mov_TrapSlew.for

Definition at line 48 of file trapSlew.py.

Variable Documentation

list tcc.mov.trapSlew.__all__ = ["trapSlew"]

Definition at line 8 of file trapSlew.py.

float tcc.mov.trapSlew.Fudge = 1.05

Definition at line 10 of file trapSlew.py.