INOS
cinosmovepathtrajectory.h
Go to the documentation of this file.
1 //******************************************************************************
26 //******************************************************************************
27 #ifndef INC_CINOSMOVEPATHTRAJECTORY_H
28 #define INC_CINOSMOVEPATHTRAJECTORY_H
29 //------------------------------------------------------------------------------
30 // defines
31 //------------------------------------------------------------------------------
32 //
33 //------------------------------------------------------------------------------
34 // includes
35 //------------------------------------------------------------------------------
36 //
37 // system
38 #include <inos.h>
39 #include <cinosbaseramp.h>
40 //
41 // C++
42 //
43 // project
44 //
45 //------------------------------------------------------------------------------
46 // struct definition
47 //------------------------------------------------------------------------------
48 //
50 {
52  uint32 m_uSegmentId;
54  double m_dPosition;
56  double m_dVelocity;
60  double m_dJerk;
61 
63  static SINOSMovePathActual* Alloc();
65  static void Free(SINOSMovePathActual* apActual);
66 
71 
72  // dynamic
73  DECLARE_DYNAMIC(SINOSMovePathActual);
74 };
75 //
76 //------------------------------------------------------------------------------
77 // class definition
78 //------------------------------------------------------------------------------
79 //
81 {
82  //--- user interface ---------------------------------------------------
83 
84  // public member functions
85  public :
86 
93  virtual uint32 GetMoveTime(double& adMoveTime, double adDelta = 0.0)
94  {
95  // base class always returns a 'not supported' error;
97  }
98 
105  virtual uint32 GetMoveTicks(uint64& adMoveTicks, double arDelta = 0.0);
106 
112  virtual uint32 GetMoveLength(double& adMoveLength);
113 
121  virtual uint32 GetMoveRemaining(double& adMoveRemaining);
122 
129  virtual uint32 GetMaxConstantVelocity(double& adMaxConstantVelocity,
130  CINOSMovePathCurve* apCurve);
131 
133  virtual uint32 Prepare();
134 
136  virtual uint32 PrepareAppend() = 0;
137 
139  virtual uint32 Append() = 0;
140 
142  virtual uint32 PrepareRun();
144  virtual uint32 Run(TINOSMovePathVec& vOffset, bool abDelegate);
146  virtual uint32 Stop() = 0;
148  virtual uint32 Break() = 0;
150  virtual uint32 Continue() = 0;
152  virtual uint32 Cancel();
153 
155  virtual uint32 GetData(
156  TINOSMovePathVec& vPos,
157  TINOSMovePathVec& vVel,
158  TINOSMovePathVec& vAcc,
159  TINOSMovePathVec& vJrk);
161  virtual uint32 GetData(uint32& ouSegmentId,
162  TINOSMovePathVec& vPos,
163  TINOSMovePathVec& vVel,
164  TINOSMovePathVec& vAcc,
165  TINOSMovePathVec& vJrk);
166 
167  virtual CINOSMovePathSegment* GetActSegment() {
168  return m_pActSegment;
169  }
170 
172  virtual uint32 CancelData();
174  uint32 GetBufferFillLevel() const;
175 
177  virtual uint32 HandleData(
178  CINOSMovePathSegment* apSegment,
179  TINOSMovePathVec &avPos,
180  TINOSMovePathVec &avVel,
181  TINOSMovePathVec &avAcc,
182  TINOSMovePathVec &avJrk);
183 
185  enum {
186  eFlgNone = 0x00000000,
187  eFlgStopSupported = 0x00000001,
188  eFlgNeedsInterpolatorSegments = 0x00000002,
189  };
193  uint32 GetFlags()
194  { return m_uFlags; };
195 
200  void GetActual(SINOSRampData& aActual)
201  {
202  aActual.m_rS = m_Actual.m_dPosition;
203  aActual.m_rV = m_Actual.m_dVelocity;
204  aActual.m_rA = m_Actual.m_dAcceleration;
205  aActual.m_rJ = m_Actual.m_dJerk;
206  }
207 
208  //--- internals --------------------------------------------------------
209 
210  friend class CINOSMovePath;
211  friend class CINOSMcRobot;
212 
213  // constructor / destructor
214  public :
216  CINOSMovePathTrajectory (class CINOSMovePath* apPath = NULL);
218  virtual ~CINOSMovePathTrajectory ();
219 
220  // protected members
221  protected :
224  { return m_pPath; };
226  void SetPath(class CINOSMovePath* apPath)
227  { m_pPath = apPath; };
233  class CINOSMovePathResourceAxis* GetAxis(uint32 auIndex);
234 
236  virtual uint32 iPrepare() = 0;
238  virtual uint32 PrepareEvents();
240  virtual bool GenData(CINOSMovePathSegment*& opSegment, double& adP,
241  TINOSMovePathVec& vPos) = 0;
243  enum {
244  ePutDataFlgNone = 0x00000000, // none
245  ePutDataFlgWaitIfFull = 0x00000001, // wait if buffer full
246  };
248  virtual uint32 PutData( CINOSMovePathSegment* apSegment, double adP,
249  TINOSMovePathVec& vPos, uint32 auFlags);
250 
252  uint32 PutCmd(uint32 auCommand);
254  uint32 HandleCmd(uint32 auError = INOS_OK);
256  uint32 HandlePrestartEvent();
258  uint32 HandleEvents();
260  void EmitEvent(CINOSMovePathEvent* apEvent, uint64 auTicksStart);
262  uint32 WaitCmd(uint32 auCommand, uint32 auError = INOS_MOVEPATH_ERROR_NO_COMMAND_QUEUE);
263 
265  virtual void iActiveHook();
266 
268  virtual uint32 iCancelData();
269 
272  double CalcRotationAngle(TINOSMovePathVec& vUnitVector1,
273  TINOSMovePathVec& vUnitVector2);
275  void CalcFollow(TINOSMovePathVec& vPos,
276  TINOSMovePathVec& vDir);
278  void GetPositionLast(TINOSMovePathVec& ovLast);
279 
281  virtual CINCOObject* RequestRegister();
282 
285  {
286  // check counter
287  if (m_uRegisterCnt > 0) {
288  // dec count
289  m_uRegisterCnt--;
290  // destroy ?
291  if (m_uRegisterCnt == 0) {
292  // yes
293  delete m_pRegister;
294  // done
295  m_pRegister = nullptr;
296  } // end if
297  } // end if
298 
299  } // end ReleaseRegister
300 
302  CINCOObject* GetRegister()
303  {
304  return m_pRegister;
305  }
306 
307  // protected members
308  protected :
310  inosName32 m_cType;
312  uint32 m_uFlags;
316  double m_dCycleTime;
326  inos_std::vector<uint8> m_uMainCycleDownSampling;
327 
328  inos_std::vector<CINOSMovePathResource*> m_vResources;
329 
330  uint32 m_uNoResources = 0;
331 
333  char m_cSpeedSet[64] = {0};
336 
338  enum {
339  eFlgIntCancelRequest = 0x00000001
340  };
342  uint32 m_uFlagsInternal = 0;
343 
344  // buffer handling
345 
347  enum EBufferType {
348  eTypeActive,
349  eTypePassive
350  } m_eBufferType;
351 
353  enum {
354  eFlgFull = 0x00000001,
355  eFlgNoMoreData = 0x00000002,
356  eFlgWrapAround = 0x00000004,
357  eFlgCalculated = 0x00000008,
358  eFlgDelegate = 0x00000010,
359  eFlgFollow = 0x00000020,
360  eFlgEnd = 0x00000040,
361  };
369  uint32 m_uBufferLow;
371  uint32 m_uBufferWr;
375  uint32 m_uBufferRd;
379  uint32 m_uBufferCnt;
383  double* m_pBufferP;
385  TINOSMovePathVec* m_pBuffer;
389  TINOSMovePathVec m_vOffset;
390 
391  // path logging handling
392 
395 
396  // generating data
397 
403  uint8 m_uBusId;
409  double m_dTime;
411  double m_dP;
412 
413  // running data
419  double m_dActP = 0.0;
421  TINOSMovePathVec m_vPos;
423  TINOSMovePathVec m_vVel;
425  TINOSMovePathVec m_vAcc;
427  TINOSMovePathVec m_vJrk;
428 
431 
432 
438  inos_std::vector<uint8> m_vCycleDownSampling;
439 
440  // filter handling
441 
447  TINOSMovePathVec m_vFilterPos;
448 
449  // follow mechanism
450 
458  TINOSMovePathVec m_vFollowDir;
459 
461  uint32 m_uRegisterCnt = 0;
463  CINCOObject* m_pRegister = nullptr;
464 
465  // dynamic
466  DECLARE_DYNAMIC(CINOSMovePathTrajectory);
467 };
468 
469 //------------------------------------------------------------------------------
470 // end of file
471 //------------------------------------------------------------------------------
472 
473 #endif // INC_CINOSMOVEPATHTRAJECTORY_H
CINOSMovePathTrajectory::GetPrepareCurve
class CINOSMovePathCurve * GetPrepareCurve()
get pointer to my prepare curve
CINOSMovePathTrajectory::m_uFilterLength
uint32 m_uFilterLength
filter length
Definition: cinosmovepathtrajectory.h:443
CINOSMovePathTrajectory::m_vVel
TINOSMovePathVec m_vVel
velocity
Definition: cinosmovepathtrajectory.h:423
CINOSMovePathTrajectory::PrepareRun
virtual uint32 PrepareRun()
prepare trajectory to run
CINOSMovePathTrajectory::ReleaseRegister
void ReleaseRegister()
release inco registration
Definition: cinosmovepathtrajectory.h:284
CINOSMovePathTrajectory::GetMoveTime
virtual uint32 GetMoveTime(double &adMoveTime, double adDelta=0.0)
Return time [sec] the path needs until End - Delta.
Definition: cinosmovepathtrajectory.h:93
CINOSMovePathTrajectory::m_uMainCycleDownSampling
inos_std::vector< uint8 > m_uMainCycleDownSampling
main cycle down sampling
Definition: cinosmovepathtrajectory.h:326
SINOSMovePathActual::Free
static void Free(SINOSMovePathActual *apActual)
alloc
CINOSMovePathTrajectory::m_vFilterPos
TINOSMovePathVec m_vFilterPos
filtered position
Definition: cinosmovepathtrajectory.h:447
CINOSMovePathTrajectory::m_ppBufferSegment
CINOSMovePathSegment ** m_ppBufferSegment
corresponding segment
Definition: cinosmovepathtrajectory.h:381
CINOSMovePathTrajectory::m_uBusTicksPerMs
uint32 m_uBusTicksPerMs
bus ticks per ms
Definition: cinosmovepathtrajectory.h:405
CINOSMovePathTrajectory::PrepareAppend
virtual uint32 PrepareAppend()=0
prepare trajectory of curve to append
CINOSMovePathTrajectory::m_uRegisterCnt
uint32 m_uRegisterCnt
inco tree registration counter
Definition: cinosmovepathtrajectory.h:461
CINOSMovePathTrajectory::m_pPathSegment
CINOSMovePathSegment * m_pPathSegment
current segment
Definition: cinosmovepathtrajectory.h:394
SINOSMovePathActual::m_dAcceleration
double m_dAcceleration
acceleration
Definition: cinosmovepathtrajectory.h:58
CINOSMovePathTrajectory::Prepare
virtual uint32 Prepare()
prepare move path
CINOSMovePathTrajectory::m_uBufferFlags
uint32 m_uBufferFlags
buffer flags
Definition: cinosmovepathtrajectory.h:363
CINOSMovePathTrajectory::m_uBufferWr
uint32 m_uBufferWr
buffer write index
Definition: cinosmovepathtrajectory.h:371
CINOSMovePathTrajectory::m_pNextSegment
CINOSMovePathSegment * m_pNextSegment
next act segment
Definition: cinosmovepathtrajectory.h:436
SINOSMovePathActual::m_pNext
SINOSMovePathActual * m_pNext
pointer to next in chain
Definition: cinosmovepathtrajectory.h:68
CINOSMovePathTrajectory::GetFlags
uint32 GetFlags()
Returns general trajectory generator flags.
Definition: cinosmovepathtrajectory.h:193
INOS_MOVEPATH_ERROR_TRJ_NOT_SUPPORTED
uint32 INOS_MOVEPATH_ERROR_TRJ_NOT_SUPPORTED
Definition: inoserror.h:1680
SINOSMovePathActual
Definition: cinosmovepathtrajectory.h:49
CINOSMovePathTrajectory::m_uBufferTotalRd
uint32 m_uBufferTotalRd
buffer read total index
Definition: cinosmovepathtrajectory.h:377
CINOSMovePathTrajectory::m_uBufferLow
uint32 m_uBufferLow
buffer low level
Definition: cinosmovepathtrajectory.h:369
CINOSMovePathTrajectory::HandlePrestartEvent
uint32 HandlePrestartEvent()
handle prestart event
CINOSMovePathTrajectory::m_pPath
class CINOSMovePath * m_pPath
pointer to my path
Definition: cinosmovepathtrajectory.h:314
CINOSMovePathTrajectory::m_vPos
TINOSMovePathVec m_vPos
position
Definition: cinosmovepathtrajectory.h:421
CINOSMovePathTrajectory::m_uActiveHookId
uintid m_uActiveHookId
active hook id
Definition: cinosmovepathtrajectory.h:387
CINOSMovePathTrajectory::EmitEvent
void EmitEvent(CINOSMovePathEvent *apEvent, uint64 auTicksStart)
emit event
CINOSMovePathTrajectory::m_uMainOversampling
uint8 m_uMainOversampling
main axis oversampling
Definition: cinosmovepathtrajectory.h:324
SINOSMovePathActual::m_pFirst
static SINOSMovePathActual * m_pFirst
head of chain
Definition: cinosmovepathtrajectory.h:70
CINOSMovePathTrajectory::m_cType
inosName32 m_cType
type
Definition: cinosmovepathtrajectory.h:310
CINOSMovePathTrajectory::iPrepare
virtual uint32 iPrepare()=0
prepare run
SINOSMovePathActual::m_dVelocity
double m_dVelocity
velocity
Definition: cinosmovepathtrajectory.h:56
SINOSRampData
ramp data
Definition: cinosbaseramp.h:601
CINOSMovePathTrajectory::RequestRegister
virtual CINCOObject * RequestRegister()
return pointer to inco registration
cinosbaseramp.h
Short comment.
CINOSMovePathTrajectory::m_uMainAxisIndex
uint8 m_uMainAxisIndex
main axis index
Definition: cinosmovepathtrajectory.h:322
CINOSMovePathTrajectory::m_dCycleTime
double m_dCycleTime
cycle time
Definition: cinosmovepathtrajectory.h:316
CINOSMovePathTrajectory::m_pRegister
CINCOObject * m_pRegister
pointer to inco registration
Definition: cinosmovepathtrajectory.h:463
CINOSMovePathTrajectory::~CINOSMovePathTrajectory
virtual ~CINOSMovePathTrajectory()
destructor
CINOSMovePathTrajectory::m_vFollowDir
TINOSMovePathVec m_vFollowDir
actual direction vector
Definition: cinosmovepathtrajectory.h:458
CINOSMovePathTrajectory::m_vJrk
TINOSMovePathVec m_vJrk
jerk
Definition: cinosmovepathtrajectory.h:427
CINOSMovePathTrajectory::GetBufferFillLevel
uint32 GetBufferFillLevel() const
CINOSMovePathTrajectory::m_cSpeedSet
char m_cSpeedSet[64]
speedset name
Definition: cinosmovepathtrajectory.h:333
CINOSMovePathTrajectory::GetAxis
class CINOSMovePathResourceAxis * GetAxis(uint32 auIndex)
get pointer to axis
CINOSMovePathTrajectory::GetActual
void GetActual(SINOSRampData &aActual)
Get actual path s,v,a,j.
Definition: cinosmovepathtrajectory.h:200
CINOSMovePathTrajectory::m_uBufferRd
uint32 m_uBufferRd
buffer read index
Definition: cinosmovepathtrajectory.h:375
CINOSMovePathTrajectory::CINOSMovePathTrajectory
CINOSMovePathTrajectory(class CINOSMovePath *apPath=NULL)
constructor
CINOSMovePathTrajectory::GetPath
class CINOSMovePath * GetPath()
get pointer to my path
Definition: cinosmovepathtrajectory.h:223
CINOSMovePathTrajectory::m_uFollowIndex
uint32 m_uFollowIndex
index of axis to follow
Definition: cinosmovepathtrajectory.h:452
CINOSMovePathTrajectory::Break
virtual uint32 Break()=0
break move path
CINOSMovePathTrajectory::HandleCmd
uint32 HandleCmd(uint32 auError=INOS_OK)
check command queue
SINOSMovePathActual::m_dPosition
double m_dPosition
position
Definition: cinosmovepathtrajectory.h:54
CINOSMovePathTrajectory::m_uBufferReady
uint32 m_uBufferReady
buffer ready level
Definition: cinosmovepathtrajectory.h:367
CINOSMovePathTrajectory::CalcFollow
void CalcFollow(TINOSMovePathVec &vPos, TINOSMovePathVec &vDir)
calc follow axis
CINOSMovePathTrajectory::m_uCycleDownSampling
uint8 m_uCycleDownSampling[DF_INOS_MOVEPATH_MAX_AXES]
main cycle down sampling
Definition: cinosmovepathtrajectory.h:430
CINOSMovePathTrajectory::PutData
virtual uint32 PutData(CINOSMovePathSegment *apSegment, double adP, TINOSMovePathVec &vPos, uint32 auFlags)
put data into trajectory buffer
CINOSMovePathTrajectory::m_uBusId
uint8 m_uBusId
bus id
Definition: cinosmovepathtrajectory.h:403
INOS_OK
uint32 INOS_OK
Definition: inoserror.h:1680
CINOSMovePathTrajectory::GetMoveLength
virtual uint32 GetMoveLength(double &adMoveLength)
Return the path length [path units].
CINOSMovePathTrajectory::m_pBufferP
double * m_pBufferP
corresponding buffer virtual position P
Definition: cinosmovepathtrajectory.h:383
CINOSMovePathTrajectory::iActiveHook
virtual void iActiveHook()
active hook
CINOSMovePathTrajectory::Continue
virtual uint32 Continue()=0
continue move path
CINOSMovePathTrajectory::GetRegister
CINCOObject * GetRegister()
get pointer to inco registration (if any)
Definition: cinosmovepathtrajectory.h:302
CINOSMovePath
Definition: cinosmovepath.h:549
CINOSMovePathTrajectory::m_dP
double m_dP
current position
Definition: cinosmovepathtrajectory.h:411
CINOSMovePathTrajectory::m_pActSegment
CINOSMovePathSegment * m_pActSegment
current act segment
Definition: cinosmovepathtrajectory.h:434
CINOSMovePathTrajectory::GetPositionLast
void GetPositionLast(TINOSMovePathVec &ovLast)
get last path position vector
CINOSMovePathTrajectory::m_uTicksStart
uint64 m_uTicksStart
start ticks
Definition: cinosmovepathtrajectory.h:399
CINOSMovePathTrajectory::HandleEvents
uint32 HandleEvents()
handle events
CINOSMovePathTrajectory::m_uFlags
uint32 m_uFlags
trajectory generator flags
Definition: cinosmovepathtrajectory.h:312
CINOSMovePathSegment
Definition: cinosmovepathsegment.h:44
CINOSMovePathTrajectory::SetPath
void SetPath(class CINOSMovePath *apPath)
set pointer to my path
Definition: cinosmovepathtrajectory.h:226
CINOSMovePathTrajectory::m_dFollowAngle
double m_dFollowAngle
actual follow angle
Definition: cinosmovepathtrajectory.h:456
CINOSMovePathTrajectory::WaitCmd
uint32 WaitCmd(uint32 auCommand, uint32 auError=INOS_MOVEPATH_ERROR_NO_COMMAND_QUEUE)
wait for either auCommand or eCmdAbort
CINOSMovePathCurve
Definition: cinosmovepathcurve.h:55
CINOSMovePathTrajectory::Append
virtual uint32 Append()=0
prepare trajectory of curve to append
CINOSMovePathTrajectory::m_uBufferSize
uint32 m_uBufferSize
buffer size
Definition: cinosmovepathtrajectory.h:365
CINOSMovePathTrajectory::GetData
virtual uint32 GetData(TINOSMovePathVec &vPos, TINOSMovePathVec &vVel, TINOSMovePathVec &vAcc, TINOSMovePathVec &vJrk)
get data from trajectory buffer
CINOSMovePathTrajectory::Stop
virtual uint32 Stop()=0
stop move path
CINOSMovePathTrajectory::m_pBuffer
TINOSMovePathVec * m_pBuffer
the buffer
Definition: cinosmovepathtrajectory.h:385
CINOSMovePathTrajectory::EBufferType
EBufferType
buffer type
Definition: cinosmovepathtrajectory.h:347
CINOSMovePathTrajectory::CancelData
virtual uint32 CancelData()
cancel trajectory buffer data
INOS_MOVEPATH_ERROR_NO_COMMAND_QUEUE
uint32 INOS_MOVEPATH_ERROR_NO_COMMAND_QUEUE
Definition: inoserror.h:1680
CINOSMovePathTrajectory::m_dFilterFactor
double m_dFilterFactor
filter
Definition: cinosmovepathtrajectory.h:445
SINOSRampData::m_rJ
real64 m_rJ
jerk
Definition: cinosbaseramp.h:610
CINOSMovePathTrajectory::Run
virtual uint32 Run(TINOSMovePathVec &vOffset, bool abDelegate)
run move path
CINOSMovePathTrajectory::PutCmd
uint32 PutCmd(uint32 auCommand)
put command to command queue
CINOSMovePathTrajectory::m_vOffset
TINOSMovePathVec m_vOffset
running offset
Definition: cinosmovepathtrajectory.h:389
SINOSMovePathActual::m_uSegmentId
uint32 m_uSegmentId
segment id
Definition: cinosmovepathtrajectory.h:52
CINOSMovePathTrajectory::m_uBusTicksPerAxisTick
uint32 m_uBusTicksPerAxisTick
bus ticks per axis tick
Definition: cinosmovepathtrajectory.h:407
CINOSMovePathTrajectory::m_dFollowFactor
double m_dFollowFactor
follow unit factor
Definition: cinosmovepathtrajectory.h:454
CINOSMovePathTrajectory::Cancel
virtual uint32 Cancel()
cancel move path
CINOSMovePathTrajectory::PrepareEvents
virtual uint32 PrepareEvents()
prepare events
CINOSMovePathTrajectory::GetRunCurve
class CINOSMovePathCurve * GetRunCurve()
get pointer to run curve
CINOSMovePathTrajectory::iCancelData
virtual uint32 iCancelData()
internal cancel data
CINOSMovePathTrajectory::m_uBufferCnt
uint32 m_uBufferCnt
buffer entries
Definition: cinosmovepathtrajectory.h:379
CINOSMovePathTrajectory
Definition: cinosmovepathtrajectory.h:80
CINOSMovePathTrajectory::m_pActual
SINOSMovePathActual * m_pActual
actuals (handled over to inco registration of involved axes)
Definition: cinosmovepathtrajectory.h:417
CINOSMovePathTrajectory::GetMoveTicks
virtual uint32 GetMoveTicks(uint64 &adMoveTicks, double arDelta=0.0)
Return bus ticks the path needs until End - Delta.
CINOSMovePathTrajectory::m_vCycleDownSampling
inos_std::vector< uint8 > m_vCycleDownSampling
main cycle down sampling
Definition: cinosmovepathtrajectory.h:438
CINOSMovePathTrajectory::GetMaxConstantVelocity
virtual uint32 GetMaxConstantVelocity(double &adMaxConstantVelocity, CINOSMovePathCurve *apCurve)
Return the max. allowed constant velocity the path can be run with without violating any axes limits ...
CINOSMovePathTrajectory::m_dActP
double m_dActP
p value
Definition: cinosmovepathtrajectory.h:419
DF_INOS_MOVEPATH_MAX_AXES
#define DF_INOS_MOVEPATH_MAX_AXES
Definition: inosdefault.h:152
CINOSMovePathTrajectory::m_Actual
SINOSMovePathActual m_Actual
internal actuals
Definition: cinosmovepathtrajectory.h:415
CINOSMovePathTrajectory::GenData
virtual bool GenData(CINOSMovePathSegment *&opSegment, double &adP, TINOSMovePathVec &vPos)=0
generate data
CINOSMovePathTrajectory::m_uFlagsInternal
uint32 m_uFlagsInternal
internal flags
Definition: cinosmovepathtrajectory.h:342
CINOSMovePathTrajectory::HandleData
virtual uint32 HandleData(CINOSMovePathSegment *apSegment, TINOSMovePathVec &avPos, TINOSMovePathVec &avVel, TINOSMovePathVec &avAcc, TINOSMovePathVec &avJrk)
handle data of all resources
CINOSMovePathTrajectory::m_dCycleTime_1
double m_dCycleTime_1
inverse cycle time
Definition: cinosmovepathtrajectory.h:318
SINOSMovePathActual::m_dJerk
double m_dJerk
jerk
Definition: cinosmovepathtrajectory.h:60
SINOSRampParam
ramp parameters
Definition: cinosbaseramp.h:502
CINOSMovePathTrajectory::GetMoveRemaining
virtual uint32 GetMoveRemaining(double &adMoveRemaining)
Return the remaining path length [path units]. It can be used to ask for the actual remaining length ...
SINOSRampData::m_rV
real64 m_rV
velocity
Definition: cinosbaseramp.h:606
CINOSMovePathTrajectory::m_vAcc
TINOSMovePathVec m_vAcc
acceleration
Definition: cinosmovepathtrajectory.h:425
CINOSMovePathTrajectory::m_uTicksCurrent
uint32 m_uTicksCurrent
current ticks
Definition: cinosmovepathtrajectory.h:401
CINOSMovePathTrajectory::m_uBufferTotalWr
uint32 m_uBufferTotalWr
buffer write total index
Definition: cinosmovepathtrajectory.h:373
CINOSMovePathTrajectory::m_sSpeedSet
SINOSRampParam m_sSpeedSet
speedset
Definition: cinosmovepathtrajectory.h:335
SINOSRampData::m_rA
real64 m_rA
acceleration
Definition: cinosbaseramp.h:608
SINOSRampData::m_rS
real64 m_rS
position
Definition: cinosbaseramp.h:604
SINOSMovePathActual::Alloc
static SINOSMovePathActual * Alloc()
alloc
CINOSMovePathTrajectory::CalcRotationAngle
double CalcRotationAngle(TINOSMovePathVec &vUnitVector1, TINOSMovePathVec &vUnitVector2)
CINOSMovePathTrajectory::m_dTime
double m_dTime
current timestamp
Definition: cinosmovepathtrajectory.h:409
CINOSMovePathTrajectory::m_dSlowMotion
double m_dSlowMotion
slowmotion factor
Definition: cinosmovepathtrajectory.h:320