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

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

Functions

def fullSlew
 Compute a jerk-limited trapezoidal slew. More...
 

Function Documentation

def tcc.mov.fullSlew.fullSlew (   pA,
  vA,
  pB,
  vB,
  tJerk,
  vMax,
  aMax 
)

Compute a jerk-limited trapezoidal slew.

Inputs:

Parameters
[in]pAdp position of starting point at time t = 0 (deg)
[in]vAdp velocity of starting point at time t = 0 (deg/sec)
[in]pBdp position of ending point at time t = 0 (deg)
[in]vBdp velocity of ending point at time t = 0 (deg/sec)
[in]tJerkdp sets maximum allowed jerk and minimum slew duration (deg/sec^3) (see Details for more information)
[in]vMaxdp maximum allowed |velocity| (deg/sec)
[in]aMaxdp maximum allowed |acceleration| (deg/sec^2)
Returns
pvtList: a list of approximately 8 PVTs; the time of the first one is 0
Exceptions
RuntimeErrorif cannot compute a slew
Warning
: |vA| must be <= vMax, |vB| must be some margin less than vMax. See tcc.mov.trapSlew for details.

Details: tJerk sets the maximum jerk and minimum duration of slew as follows:

  • jmax = tJerk/aMax
  • minimum duration of slew = tJerk

Here is how the subroutine works:

First a trapezoidal slew is computed, with several special characterstics:

  • it begins a short time ("tJerk / 2") after 0
  • the duration of its constant-velocity segment is at least "tJerk"
  • the maximum possible acceleration ("aMax") is used for both constant acceleration segments.

The resulting trapezoidal slew is then "rounded" to give jerk limiting, as follows:

  • Rounding extends for a time (tJerk / 2) (or less if required) symmetrically to both sides of each trapezoidal slew node.
  • The rounded segments are paths of constant jerk. This process does not affect the total area under the v vs. t curve, hence the total distance travelled remains unchanged.

Trapezoidal slews, and possibly jerk-limiting, are discussed further in my orange notebook.

Note: most of the equations used below are less algebraically straightforward than is possible. They have been processed to reduce accumulated error and limit the number of intermediate variables. For example, expressions such as j = a / dt are used to eliminate explicit reference to jerk.

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

Definition at line 9 of file fullSlew.py.