cisst-saw
Toggle main menu visibility
Loading...
Searching...
No Matches
tmp
cisst-saw
cisst
cisstRobot
robCubicSO3.h
Go to the documentation of this file.
1
/*
2
3
Author(s): Simon Leonard
4
Created on: Nov 11 2009
5
6
(C) Copyright 2008 Johns Hopkins University (JHU), All Rights
7
Reserved.
8
9
--- begin cisst license - do not edit ---
10
11
This software is provided "as is" under an open source license, with
12
no warranty. The complete license can be found in license.txt and
13
http://www.cisst.org/cisst/license.txt.
14
15
--- end cisst license ---
16
*/
17
18
#ifndef _robCubicSO3_h
19
#define _robCubicSO3_h
20
21
#include <
cisstVector/vctMatrixRotation3.h
>
22
#include <
cisstVector/vctQuaternionRotation3.h
>
23
24
#include <
cisstRobot/robFunctionSO3.h
>
25
#include <
cisstRobot/robExport.h
>
26
27
class
CISST_EXPORT
robCubicSO3
:
public
robFunctionSO3
{
28
29
private
:
30
31
double
wmax;
32
vctQuaternionRotation3<double>
qwmid;
// midpoint orientation
33
34
vctQuaternionRotation3<double>
35
SLERP(
const
vctQuaternionRotation3<double>
&q1,
36
const
vctQuaternionRotation3<double>
&q2,
37
double
t );
38
39
40
public
:
41
43
46
robCubicSO3
(
const
vctMatrixRotation3<double>
& Rw0,
47
const
vctMatrixRotation3<double>
& Rw1,
48
const
vctMatrixRotation3<double>
& Rw2,
49
double
wmax,
50
double
t1
= 0.0 );
51
52
robCubicSO3
(
const
vctQuaternionRotation3<double>
& qw0,
53
const
vctQuaternionRotation3<double>
& qwmid,
54
const
vctQuaternionRotation3<double>
&
qw2
,
55
double
wmax,
56
double
t1
= 0.0 );
57
59
void
Evaluate
(
double
t,
60
vctQuaternionRotation3<double>
& q,
61
vctFixedSizeVector<double,3>
& w,
62
vctFixedSizeVector<double,3>
& wd );
63
64
void
Blend
(
robFunction
* function,
double
wmax,
double
wdmax );
65
66
void
IntermediateState
(
vctQuaternionRotation3<double>
& q );
67
68
};
69
70
#endif
robCubicSO3::Blend
void Blend(robFunction *function, double wmax, double wdmax)
robCubicSO3::robCubicSO3
robCubicSO3(const vctQuaternionRotation3< double > &qw0, const vctQuaternionRotation3< double > &qwmid, const vctQuaternionRotation3< double > &qw2, double wmax, double t1=0.0)
robCubicSO3::Evaluate
void Evaluate(double t, vctQuaternionRotation3< double > &q, vctFixedSizeVector< double, 3 > &w, vctFixedSizeVector< double, 3 > &wd)
Evaluate the function.
robCubicSO3::robCubicSO3
robCubicSO3(const vctMatrixRotation3< double > &Rw0, const vctMatrixRotation3< double > &Rw1, const vctMatrixRotation3< double > &Rw2, double wmax, double t1=0.0)
Interpolate between 3 orientation using Cubic's algorithm.
robCubicSO3::IntermediateState
void IntermediateState(vctQuaternionRotation3< double > &q)
robFunction::robFunction
robFunction(void)
robFunction::t1
double t1
Definition
robFunction.h:35
robFunctionSO3::robFunctionSO3
robFunctionSO3(void)
robFunctionSO3::qw2
vctQuaternionRotation3< double > qw2
Definition
robFunctionSO3.h:35
vctFixedSizeVector
Implementation of a fixed-size vector using template metaprogramming.
Definition
vctFixedSizeVector.h:54
vctMatrixRotation3
Define a rotation matrix for a space of dimension 3.
Definition
vctMatrixRotation3.h:51
vctQuaternionRotation3
Define a rotation quaternion for a space of dimension 3.
Definition
vctQuaternionRotation3.h:50
CISST_EXPORT
#define CISST_EXPORT
Definition
cmnExportMacros.h:50
robExport.h
robFunctionSO3.h
vctMatrixRotation3.h
Declaration of vctMatrixRotation3.
vctQuaternionRotation3.h
Declaration of vctQuaternionRotation3.
Generated by
1.18.0