sdurw_trajectory module

class sdurw_trajectory.sdurw_trajectory.BlendQ(*args, **kwargs)

Bases: object

Interface for blending

A Blend describes a way to blend between to consecutive interpolators. If we let \(t_1\) be the time switching from one interpolator to the next, then the blend control the path in the interval \([t_1-\tau_1;t_1+\tau_2]\).

See the specific implementations for at description of which template arguments that are valid.

__init__(*args, **kwargs)
ddx(t)

The acceleration for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: Q :return: Acceleration at time t

dx(t)

The velocity for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: Q :return: Velocity at time t

tau1()

The time \(\tau_1\) as defined in class definition :rtype: float :return: \(\tau_1\)

tau2()

The time \(\tau_2\) as defined in class definition :rtype: float :return: \(\tau_2\)

property thisown

The membership flag

x(t)

The position for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: Q :return: Position at time t

class sdurw_trajectory.sdurw_trajectory.BlendQCPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

__init__(*args)

Overload 1:

Default constructor yielding a NULL-pointer.


Overload 2:

Do not take ownership of ptr.

ptr can be null.

The constructor is implicit on purpose.

ddx(t)

The acceleration for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: Q :return: Acceleration at time t

deref()

The pointer stored in the object.

dx(t)

The velocity for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: Q :return: Velocity at time t

getDeref()

Member access operator.

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

tau1()

The time \(\tau_1\) as defined in class definition :rtype: float :return: \(\tau_1\)

tau2()

The time \(\tau_2\) as defined in class definition :rtype: float :return: \(\tau_2\)

property thisown

The membership flag

x(t)

The position for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: Q :return: Position at time t

class sdurw_trajectory.sdurw_trajectory.BlendQPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

__init__(*args)

Overload 1:

Default constructor yielding a NULL-pointer.


Overload 2:

Do not take ownership of ptr.

ptr can be null.

The constructor is implicit on purpose.

cptr()
ddx(t)

The acceleration for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: Q :return: Acceleration at time t

deref()

The pointer stored in the object.

dx(t)

The velocity for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: Q :return: Velocity at time t

getDeref()

Member access operator.

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

tau1()

The time \(\tau_1\) as defined in class definition :rtype: float :return: \(\tau_1\)

tau2()

The time \(\tau_2\) as defined in class definition :rtype: float :return: \(\tau_2\)

property thisown

The membership flag

x(t)

The position for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: Q :return: Position at time t

sdurw_trajectory.sdurw_trajectory.BlendR1

alias of Blend_d

sdurw_trajectory.sdurw_trajectory.BlendR2

alias of BlendVector2D

sdurw_trajectory.sdurw_trajectory.BlendR3

alias of BlendVector3D

class sdurw_trajectory.sdurw_trajectory.BlendRotation3D(*args, **kwargs)

Bases: object

Interface for blending

A Blend describes a way to blend between to consecutive interpolators. If we let \(t_1\) be the time switching from one interpolator to the next, then the blend control the path in the interval \([t_1-\tau_1;t_1+\tau_2]\).

See the specific implementations for at description of which template arguments that are valid.

__init__(*args, **kwargs)
ddx(t)

The acceleration for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Rotation3D< double > :return: Acceleration at time t

dx(t)

The velocity for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Rotation3D< double > :return: Velocity at time t

tau1()

The time \(\tau_1\) as defined in class definition :rtype: float :return: \(\tau_1\)

tau2()

The time \(\tau_2\) as defined in class definition :rtype: float :return: \(\tau_2\)

property thisown

The membership flag

x(t)

The position for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Rotation3D< double > :return: Position at time t

class sdurw_trajectory.sdurw_trajectory.BlendRotation3DCPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

__init__(*args)

Overload 1:

Default constructor yielding a NULL-pointer.


Overload 2:

Do not take ownership of ptr.

ptr can be null.

The constructor is implicit on purpose.

ddx(t)

The acceleration for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Rotation3D< double > :return: Acceleration at time t

deref()

The pointer stored in the object.

dx(t)

The velocity for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Rotation3D< double > :return: Velocity at time t

getDeref()

Member access operator.

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

tau1()

The time \(\tau_1\) as defined in class definition :rtype: float :return: \(\tau_1\)

tau2()

The time \(\tau_2\) as defined in class definition :rtype: float :return: \(\tau_2\)

property thisown

The membership flag

x(t)

The position for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Rotation3D< double > :return: Position at time t

class sdurw_trajectory.sdurw_trajectory.BlendRotation3DPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

__init__(*args)

Overload 1:

Default constructor yielding a NULL-pointer.


Overload 2:

Do not take ownership of ptr.

ptr can be null.

The constructor is implicit on purpose.

cptr()
ddx(t)

The acceleration for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Rotation3D< double > :return: Acceleration at time t

deref()

The pointer stored in the object.

dx(t)

The velocity for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Rotation3D< double > :return: Velocity at time t

getDeref()

Member access operator.

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

tau1()

The time \(\tau_1\) as defined in class definition :rtype: float :return: \(\tau_1\)

tau2()

The time \(\tau_2\) as defined in class definition :rtype: float :return: \(\tau_2\)

property thisown

The membership flag

x(t)

The position for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Rotation3D< double > :return: Position at time t

class sdurw_trajectory.sdurw_trajectory.BlendRotation3D_f(*args, **kwargs)

Bases: object

Interface for blending

A Blend describes a way to blend between to consecutive interpolators. If we let \(t_1\) be the time switching from one interpolator to the next, then the blend control the path in the interval \([t_1-\tau_1;t_1+\tau_2]\).

See the specific implementations for at description of which template arguments that are valid.

__init__(*args, **kwargs)
ddx(t)

The acceleration for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Rotation3D< float > :return: Acceleration at time t

dx(t)

The velocity for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Rotation3D< float > :return: Velocity at time t

tau1()

The time \(\tau_1\) as defined in class definition :rtype: float :return: \(\tau_1\)

tau2()

The time \(\tau_2\) as defined in class definition :rtype: float :return: \(\tau_2\)

property thisown

The membership flag

x(t)

The position for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Rotation3D< float > :return: Position at time t

class sdurw_trajectory.sdurw_trajectory.BlendRotation3D_fCPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

__init__(*args)

Overload 1:

Default constructor yielding a NULL-pointer.


Overload 2:

Do not take ownership of ptr.

ptr can be null.

The constructor is implicit on purpose.

ddx(t)

The acceleration for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Rotation3D< float > :return: Acceleration at time t

deref()

The pointer stored in the object.

dx(t)

The velocity for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Rotation3D< float > :return: Velocity at time t

getDeref()

Member access operator.

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

tau1()

The time \(\tau_1\) as defined in class definition :rtype: float :return: \(\tau_1\)

tau2()

The time \(\tau_2\) as defined in class definition :rtype: float :return: \(\tau_2\)

property thisown

The membership flag

x(t)

The position for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Rotation3D< float > :return: Position at time t

class sdurw_trajectory.sdurw_trajectory.BlendRotation3D_fPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

__init__(*args)

Overload 1:

Default constructor yielding a NULL-pointer.


Overload 2:

Do not take ownership of ptr.

ptr can be null.

The constructor is implicit on purpose.

cptr()
ddx(t)

The acceleration for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Rotation3D< float > :return: Acceleration at time t

deref()

The pointer stored in the object.

dx(t)

The velocity for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Rotation3D< float > :return: Velocity at time t

getDeref()

Member access operator.

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

tau1()

The time \(\tau_1\) as defined in class definition :rtype: float :return: \(\tau_1\)

tau2()

The time \(\tau_2\) as defined in class definition :rtype: float :return: \(\tau_2\)

property thisown

The membership flag

x(t)

The position for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Rotation3D< float > :return: Position at time t

sdurw_trajectory.sdurw_trajectory.BlendSE3

alias of BlendTransform3D

sdurw_trajectory.sdurw_trajectory.BlendSO3

alias of BlendRotation3D

class sdurw_trajectory.sdurw_trajectory.BlendTransform3D(*args, **kwargs)

Bases: object

Interface for blending

A Blend describes a way to blend between to consecutive interpolators. If we let \(t_1\) be the time switching from one interpolator to the next, then the blend control the path in the interval \([t_1-\tau_1;t_1+\tau_2]\).

See the specific implementations for at description of which template arguments that are valid.

__init__(*args, **kwargs)
ddx(t)

The acceleration for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Transform3D< double > :return: Acceleration at time t

dx(t)

The velocity for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Transform3D< double > :return: Velocity at time t

tau1()

The time \(\tau_1\) as defined in class definition :rtype: float :return: \(\tau_1\)

tau2()

The time \(\tau_2\) as defined in class definition :rtype: float :return: \(\tau_2\)

property thisown

The membership flag

x(t)

The position for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Transform3D< double > :return: Position at time t

class sdurw_trajectory.sdurw_trajectory.BlendTransform3DCPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

__init__(*args)

Overload 1:

Default constructor yielding a NULL-pointer.


Overload 2:

Do not take ownership of ptr.

ptr can be null.

The constructor is implicit on purpose.

ddx(t)

The acceleration for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Transform3D< double > :return: Acceleration at time t

deref()

The pointer stored in the object.

dx(t)

The velocity for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Transform3D< double > :return: Velocity at time t

getDeref()

Member access operator.

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

tau1()

The time \(\tau_1\) as defined in class definition :rtype: float :return: \(\tau_1\)

tau2()

The time \(\tau_2\) as defined in class definition :rtype: float :return: \(\tau_2\)

property thisown

The membership flag

x(t)

The position for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Transform3D< double > :return: Position at time t

class sdurw_trajectory.sdurw_trajectory.BlendTransform3DPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

__init__(*args)

Overload 1:

Default constructor yielding a NULL-pointer.


Overload 2:

Do not take ownership of ptr.

ptr can be null.

The constructor is implicit on purpose.

cptr()
ddx(t)

The acceleration for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Transform3D< double > :return: Acceleration at time t

deref()

The pointer stored in the object.

dx(t)

The velocity for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Transform3D< double > :return: Velocity at time t

getDeref()

Member access operator.

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

tau1()

The time \(\tau_1\) as defined in class definition :rtype: float :return: \(\tau_1\)

tau2()

The time \(\tau_2\) as defined in class definition :rtype: float :return: \(\tau_2\)

property thisown

The membership flag

x(t)

The position for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Transform3D< double > :return: Position at time t

class sdurw_trajectory.sdurw_trajectory.BlendTransform3D_f(*args, **kwargs)

Bases: object

Interface for blending

A Blend describes a way to blend between to consecutive interpolators. If we let \(t_1\) be the time switching from one interpolator to the next, then the blend control the path in the interval \([t_1-\tau_1;t_1+\tau_2]\).

See the specific implementations for at description of which template arguments that are valid.

__init__(*args, **kwargs)
ddx(t)

The acceleration for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Transform3D< float > :return: Acceleration at time t

dx(t)

The velocity for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Transform3D< float > :return: Velocity at time t

tau1()

The time \(\tau_1\) as defined in class definition :rtype: float :return: \(\tau_1\)

tau2()

The time \(\tau_2\) as defined in class definition :rtype: float :return: \(\tau_2\)

property thisown

The membership flag

x(t)

The position for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Transform3D< float > :return: Position at time t

class sdurw_trajectory.sdurw_trajectory.BlendTransform3D_fCPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

__init__(*args)

Overload 1:

Default constructor yielding a NULL-pointer.


Overload 2:

Do not take ownership of ptr.

ptr can be null.

The constructor is implicit on purpose.

ddx(t)

The acceleration for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Transform3D< float > :return: Acceleration at time t

deref()

The pointer stored in the object.

dx(t)

The velocity for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Transform3D< float > :return: Velocity at time t

getDeref()

Member access operator.

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

tau1()

The time \(\tau_1\) as defined in class definition :rtype: float :return: \(\tau_1\)

tau2()

The time \(\tau_2\) as defined in class definition :rtype: float :return: \(\tau_2\)

property thisown

The membership flag

x(t)

The position for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Transform3D< float > :return: Position at time t

class sdurw_trajectory.sdurw_trajectory.BlendTransform3D_fPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

__init__(*args)

Overload 1:

Default constructor yielding a NULL-pointer.


Overload 2:

Do not take ownership of ptr.

ptr can be null.

The constructor is implicit on purpose.

cptr()
ddx(t)

The acceleration for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Transform3D< float > :return: Acceleration at time t

deref()

The pointer stored in the object.

dx(t)

The velocity for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Transform3D< float > :return: Velocity at time t

getDeref()

Member access operator.

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

tau1()

The time \(\tau_1\) as defined in class definition :rtype: float :return: \(\tau_1\)

tau2()

The time \(\tau_2\) as defined in class definition :rtype: float :return: \(\tau_2\)

property thisown

The membership flag

x(t)

The position for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Transform3D< float > :return: Position at time t

class sdurw_trajectory.sdurw_trajectory.BlendVector2D(*args, **kwargs)

Bases: object

Interface for blending

A Blend describes a way to blend between to consecutive interpolators. If we let \(t_1\) be the time switching from one interpolator to the next, then the blend control the path in the interval \([t_1-\tau_1;t_1+\tau_2]\).

See the specific implementations for at description of which template arguments that are valid.

__init__(*args, **kwargs)
ddx(t)

The acceleration for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Vector2D< double > :return: Acceleration at time t

dx(t)

The velocity for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Vector2D< double > :return: Velocity at time t

tau1()

The time \(\tau_1\) as defined in class definition :rtype: float :return: \(\tau_1\)

tau2()

The time \(\tau_2\) as defined in class definition :rtype: float :return: \(\tau_2\)

property thisown

The membership flag

x(t)

The position for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Vector2D< double > :return: Position at time t

class sdurw_trajectory.sdurw_trajectory.BlendVector2DCPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

__init__(*args)

Overload 1:

Default constructor yielding a NULL-pointer.


Overload 2:

Do not take ownership of ptr.

ptr can be null.

The constructor is implicit on purpose.

ddx(t)

The acceleration for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Vector2D< double > :return: Acceleration at time t

deref()

The pointer stored in the object.

dx(t)

The velocity for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Vector2D< double > :return: Velocity at time t

getDeref()

Member access operator.

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

tau1()

The time \(\tau_1\) as defined in class definition :rtype: float :return: \(\tau_1\)

tau2()

The time \(\tau_2\) as defined in class definition :rtype: float :return: \(\tau_2\)

property thisown

The membership flag

x(t)

The position for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Vector2D< double > :return: Position at time t

class sdurw_trajectory.sdurw_trajectory.BlendVector2DPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

__init__(*args)

Overload 1:

Default constructor yielding a NULL-pointer.


Overload 2:

Do not take ownership of ptr.

ptr can be null.

The constructor is implicit on purpose.

cptr()
ddx(t)

The acceleration for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Vector2D< double > :return: Acceleration at time t

deref()

The pointer stored in the object.

dx(t)

The velocity for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Vector2D< double > :return: Velocity at time t

getDeref()

Member access operator.

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

tau1()

The time \(\tau_1\) as defined in class definition :rtype: float :return: \(\tau_1\)

tau2()

The time \(\tau_2\) as defined in class definition :rtype: float :return: \(\tau_2\)

property thisown

The membership flag

x(t)

The position for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Vector2D< double > :return: Position at time t

class sdurw_trajectory.sdurw_trajectory.BlendVector2D_f(*args, **kwargs)

Bases: object

Interface for blending

A Blend describes a way to blend between to consecutive interpolators. If we let \(t_1\) be the time switching from one interpolator to the next, then the blend control the path in the interval \([t_1-\tau_1;t_1+\tau_2]\).

See the specific implementations for at description of which template arguments that are valid.

__init__(*args, **kwargs)
ddx(t)

The acceleration for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Vector2D< float > :return: Acceleration at time t

dx(t)

The velocity for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Vector2D< float > :return: Velocity at time t

tau1()

The time \(\tau_1\) as defined in class definition :rtype: float :return: \(\tau_1\)

tau2()

The time \(\tau_2\) as defined in class definition :rtype: float :return: \(\tau_2\)

property thisown

The membership flag

x(t)

The position for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Vector2D< float > :return: Position at time t

class sdurw_trajectory.sdurw_trajectory.BlendVector2D_fCPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

__init__(*args)

Overload 1:

Default constructor yielding a NULL-pointer.


Overload 2:

Do not take ownership of ptr.

ptr can be null.

The constructor is implicit on purpose.

ddx(t)

The acceleration for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Vector2D< float > :return: Acceleration at time t

deref()

The pointer stored in the object.

dx(t)

The velocity for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Vector2D< float > :return: Velocity at time t

getDeref()

Member access operator.

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

tau1()

The time \(\tau_1\) as defined in class definition :rtype: float :return: \(\tau_1\)

tau2()

The time \(\tau_2\) as defined in class definition :rtype: float :return: \(\tau_2\)

property thisown

The membership flag

x(t)

The position for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Vector2D< float > :return: Position at time t

class sdurw_trajectory.sdurw_trajectory.BlendVector2D_fPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

__init__(*args)

Overload 1:

Default constructor yielding a NULL-pointer.


Overload 2:

Do not take ownership of ptr.

ptr can be null.

The constructor is implicit on purpose.

cptr()
ddx(t)

The acceleration for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Vector2D< float > :return: Acceleration at time t

deref()

The pointer stored in the object.

dx(t)

The velocity for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Vector2D< float > :return: Velocity at time t

getDeref()

Member access operator.

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

tau1()

The time \(\tau_1\) as defined in class definition :rtype: float :return: \(\tau_1\)

tau2()

The time \(\tau_2\) as defined in class definition :rtype: float :return: \(\tau_2\)

property thisown

The membership flag

x(t)

The position for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Vector2D< float > :return: Position at time t

class sdurw_trajectory.sdurw_trajectory.BlendVector3D(*args, **kwargs)

Bases: object

Interface for blending

A Blend describes a way to blend between to consecutive interpolators. If we let \(t_1\) be the time switching from one interpolator to the next, then the blend control the path in the interval \([t_1-\tau_1;t_1+\tau_2]\).

See the specific implementations for at description of which template arguments that are valid.

__init__(*args, **kwargs)
ddx(t)

The acceleration for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Vector3D< double > :return: Acceleration at time t

dx(t)

The velocity for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Vector3D< double > :return: Velocity at time t

tau1()

The time \(\tau_1\) as defined in class definition :rtype: float :return: \(\tau_1\)

tau2()

The time \(\tau_2\) as defined in class definition :rtype: float :return: \(\tau_2\)

property thisown

The membership flag

x(t)

The position for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Vector3D< double > :return: Position at time t

class sdurw_trajectory.sdurw_trajectory.BlendVector3DCPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

__init__(*args)

Overload 1:

Default constructor yielding a NULL-pointer.


Overload 2:

Do not take ownership of ptr.

ptr can be null.

The constructor is implicit on purpose.

ddx(t)

The acceleration for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Vector3D< double > :return: Acceleration at time t

deref()

The pointer stored in the object.

dx(t)

The velocity for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Vector3D< double > :return: Velocity at time t

getDeref()

Member access operator.

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

tau1()

The time \(\tau_1\) as defined in class definition :rtype: float :return: \(\tau_1\)

tau2()

The time \(\tau_2\) as defined in class definition :rtype: float :return: \(\tau_2\)

property thisown

The membership flag

x(t)

The position for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Vector3D< double > :return: Position at time t

class sdurw_trajectory.sdurw_trajectory.BlendVector3DPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

__init__(*args)

Overload 1:

Default constructor yielding a NULL-pointer.


Overload 2:

Do not take ownership of ptr.

ptr can be null.

The constructor is implicit on purpose.

cptr()
ddx(t)

The acceleration for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Vector3D< double > :return: Acceleration at time t

deref()

The pointer stored in the object.

dx(t)

The velocity for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Vector3D< double > :return: Velocity at time t

getDeref()

Member access operator.

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

tau1()

The time \(\tau_1\) as defined in class definition :rtype: float :return: \(\tau_1\)

tau2()

The time \(\tau_2\) as defined in class definition :rtype: float :return: \(\tau_2\)

property thisown

The membership flag

x(t)

The position for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Vector3D< double > :return: Position at time t

class sdurw_trajectory.sdurw_trajectory.BlendVector3D_f(*args, **kwargs)

Bases: object

Interface for blending

A Blend describes a way to blend between to consecutive interpolators. If we let \(t_1\) be the time switching from one interpolator to the next, then the blend control the path in the interval \([t_1-\tau_1;t_1+\tau_2]\).

See the specific implementations for at description of which template arguments that are valid.

__init__(*args, **kwargs)
ddx(t)

The acceleration for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Vector3D< float > :return: Acceleration at time t

dx(t)

The velocity for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Vector3D< float > :return: Velocity at time t

tau1()

The time \(\tau_1\) as defined in class definition :rtype: float :return: \(\tau_1\)

tau2()

The time \(\tau_2\) as defined in class definition :rtype: float :return: \(\tau_2\)

property thisown

The membership flag

x(t)

The position for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Vector3D< float > :return: Position at time t

class sdurw_trajectory.sdurw_trajectory.BlendVector3D_fCPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

__init__(*args)

Overload 1:

Default constructor yielding a NULL-pointer.


Overload 2:

Do not take ownership of ptr.

ptr can be null.

The constructor is implicit on purpose.

ddx(t)

The acceleration for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Vector3D< float > :return: Acceleration at time t

deref()

The pointer stored in the object.

dx(t)

The velocity for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Vector3D< float > :return: Velocity at time t

getDeref()

Member access operator.

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

tau1()

The time \(\tau_1\) as defined in class definition :rtype: float :return: \(\tau_1\)

tau2()

The time \(\tau_2\) as defined in class definition :rtype: float :return: \(\tau_2\)

property thisown

The membership flag

x(t)

The position for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Vector3D< float > :return: Position at time t

class sdurw_trajectory.sdurw_trajectory.BlendVector3D_fPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

__init__(*args)

Overload 1:

Default constructor yielding a NULL-pointer.


Overload 2:

Do not take ownership of ptr.

ptr can be null.

The constructor is implicit on purpose.

cptr()
ddx(t)

The acceleration for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Vector3D< float > :return: Acceleration at time t

deref()

The pointer stored in the object.

dx(t)

The velocity for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Vector3D< float > :return: Velocity at time t

getDeref()

Member access operator.

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

tau1()

The time \(\tau_1\) as defined in class definition :rtype: float :return: \(\tau_1\)

tau2()

The time \(\tau_2\) as defined in class definition :rtype: float :return: \(\tau_2\)

property thisown

The membership flag

x(t)

The position for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: rw::math::Vector3D< float > :return: Position at time t

class sdurw_trajectory.sdurw_trajectory.Blend_d(*args, **kwargs)

Bases: object

Interface for blending

A Blend describes a way to blend between to consecutive interpolators. If we let \(t_1\) be the time switching from one interpolator to the next, then the blend control the path in the interval \([t_1-\tau_1;t_1+\tau_2]\).

See the specific implementations for at description of which template arguments that are valid.

__init__(*args, **kwargs)
ddx(t)

The acceleration for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: float :return: Acceleration at time t

dx(t)

The velocity for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: float :return: Velocity at time t

tau1()

The time \(\tau_1\) as defined in class definition :rtype: float :return: \(\tau_1\)

tau2()

The time \(\tau_2\) as defined in class definition :rtype: float :return: \(\tau_2\)

property thisown

The membership flag

x(t)

The position for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: float :return: Position at time t

class sdurw_trajectory.sdurw_trajectory.Blend_dCPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

__init__(*args)

Overload 1:

Default constructor yielding a NULL-pointer.


Overload 2:

Do not take ownership of ptr.

ptr can be null.

The constructor is implicit on purpose.

ddx(t)

The acceleration for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: float :return: Acceleration at time t

deref()

The pointer stored in the object.

dx(t)

The velocity for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: float :return: Velocity at time t

getDeref()

Member access operator.

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

tau1()

The time \(\tau_1\) as defined in class definition :rtype: float :return: \(\tau_1\)

tau2()

The time \(\tau_2\) as defined in class definition :rtype: float :return: \(\tau_2\)

property thisown

The membership flag

x(t)

The position for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: float :return: Position at time t

class sdurw_trajectory.sdurw_trajectory.Blend_dPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

__init__(*args)

Overload 1:

Default constructor yielding a NULL-pointer.


Overload 2:

Do not take ownership of ptr.

ptr can be null.

The constructor is implicit on purpose.

cptr()
ddx(t)

The acceleration for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: float :return: Acceleration at time t

deref()

The pointer stored in the object.

dx(t)

The velocity for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: float :return: Velocity at time t

getDeref()

Member access operator.

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

tau1()

The time \(\tau_1\) as defined in class definition :rtype: float :return: \(\tau_1\)

tau2()

The time \(\tau_2\) as defined in class definition :rtype: float :return: \(\tau_2\)

property thisown

The membership flag

x(t)

The position for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: float :return: Position at time t

class sdurw_trajectory.sdurw_trajectory.Blend_d_f(*args, **kwargs)

Bases: object

Interface for blending

A Blend describes a way to blend between to consecutive interpolators. If we let \(t_1\) be the time switching from one interpolator to the next, then the blend control the path in the interval \([t_1-\tau_1;t_1+\tau_2]\).

See the specific implementations for at description of which template arguments that are valid.

__init__(*args, **kwargs)
ddx(t)

The acceleration for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: float :return: Acceleration at time t

dx(t)

The velocity for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: float :return: Velocity at time t

tau1()

The time \(\tau_1\) as defined in class definition :rtype: float :return: \(\tau_1\)

tau2()

The time \(\tau_2\) as defined in class definition :rtype: float :return: \(\tau_2\)

property thisown

The membership flag

x(t)

The position for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: float :return: Position at time t

class sdurw_trajectory.sdurw_trajectory.Blend_d_fCPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

__init__(*args)

Overload 1:

Default constructor yielding a NULL-pointer.


Overload 2:

Do not take ownership of ptr.

ptr can be null.

The constructor is implicit on purpose.

ddx(t)

The acceleration for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: float :return: Acceleration at time t

deref()

The pointer stored in the object.

dx(t)

The velocity for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: float :return: Velocity at time t

getDeref()

Member access operator.

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

tau1()

The time \(\tau_1\) as defined in class definition :rtype: float :return: \(\tau_1\)

tau2()

The time \(\tau_2\) as defined in class definition :rtype: float :return: \(\tau_2\)

property thisown

The membership flag

x(t)

The position for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: float :return: Position at time t

class sdurw_trajectory.sdurw_trajectory.Blend_d_fPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

__init__(*args)

Overload 1:

Default constructor yielding a NULL-pointer.


Overload 2:

Do not take ownership of ptr.

ptr can be null.

The constructor is implicit on purpose.

cptr()
ddx(t)

The acceleration for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: float :return: Acceleration at time t

deref()

The pointer stored in the object.

dx(t)

The velocity for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: float :return: Velocity at time t

getDeref()

Member access operator.

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

tau1()

The time \(\tau_1\) as defined in class definition :rtype: float :return: \(\tau_1\)

tau2()

The time \(\tau_2\) as defined in class definition :rtype: float :return: \(\tau_2\)

property thisown

The membership flag

x(t)

The position for a given time t :type t: float :param t: [in] \(t\in[0,\tau_1+\tau_2]\) :rtype: float :return: Position at time t

class sdurw_trajectory.sdurw_trajectory.CircularInterpolatorVector3D(*args, **kwargs)

Bases: InterpolatorVector3D

Circular interpolator

See the specific template specializations

__init__(*args, **kwargs)
getP1()
getP2()
getP3()
property thisown

The membership flag

class sdurw_trajectory.sdurw_trajectory.CircularInterpolatorVector3D_f(*args, **kwargs)

Bases: InterpolatorVector3D_f

Circular interpolator

See the specific template specializations

__init__(*args, **kwargs)
getP1()
getP2()
getP3()
property thisown

The membership flag

class sdurw_trajectory.sdurw_trajectory.CubicSplineFactory(*args, **kwargs)

Bases: object

Factory for creating cubic splines

__init__(*args, **kwargs)
static makeClampedSpline(*args)

Overload 1:

creates a clamped spline trajectory with equally spaced via points. That is time between samples is 1. A clamped spline controls the velocity in the end points. The acceleration is 0 in the end points. :type qpath: rw::core::Ptr< rw::trajectory::Path< rw::math::Q > > :param qpath: [in] the path over which the spline should be generated. :type dqStart: Q :param dqStart: [in] the velocity in the first point :type dqEnd: Q :param dqEnd: [in] the velocity in the last point. :type timeStep: float, optional :param timeStep: documentation missing ! :rtype: rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Q > > :return: a trajectory of CubicSplineInterpolators Notes: the following template parameters are currently supported: Transform3DVector, Vector3D, Quaternion


Overload 2:

creates a clamped spline trajectory where the timed label is used to determine the time between samples. A clamped spline controls the velocity in the end points. The acceleration is 0 in the end points. :type tqpath: rw::core::Ptr< rw::trajectory::Path< rw::trajectory::Timed< rw::math::Q > > > :param tqpath: [in] the path over which the spline should be generated. :type dqStart: Q :param dqStart: [in] the velocity in the first point :type dqEnd: Q :param dqEnd: [in] the velocity in the last point. :rtype: rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Q > > :return: a trajectory of CubicSplineInterpolators Notes: the following template parameters are currently supported: Transform3DVector, Vector3D, Quaternion


Overload 3:

creates a clamped spline trajectory with equally spaced via points. That is time between samples is 1. A clamped spline controls the velocity in the end points. The acceleration is 0 in the end points. :type path: rw::trajectory::Path< rw::math::Vector3D< double > > :param path: [in] the path over which the spline should be generated. :type dStart: rw::math::Vector3D< double > :param dStart: [in] the velocity in the first point :type dEnd: rw::math::Vector3D< double > :param dEnd: [in] the velocity in the last point. :type timeStep: float, optional :param timeStep: documentation missing ! :rtype: rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Vector3D< double > > > :return: a trajectory of CubicSplineInterpolators Notes: the following template parameters are currently supported: Transform3DVector, Vector3D, Quaternion


Overload 4:

creates a clamped spline trajectory with equally spaced via points. That is time between samples is 1. A clamped spline controls the velocity in the end points. The acceleration is 0 in the end points. :type path: rw::trajectory::Path< rw::math::Vector3D< double > > :param path: [in] the path over which the spline should be generated. :type dStart: rw::math::Vector3D< double > :param dStart: [in] the velocity in the first point :type dEnd: rw::math::Vector3D< double > :param dEnd: [in] the velocity in the last point. :param timeStep: documentation missing ! :rtype: rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Vector3D< double > > > :return: a trajectory of CubicSplineInterpolators Notes: the following template parameters are currently supported: Transform3DVector, Vector3D, Quaternion


Overload 5:

creates a clamped spline trajectory where the timed label is used to determine the time between samples. A clamped spline controls the velocity in the end points. The acceleration is 0 in the end points. :type tpath: rw::trajectory::Path< rw::trajectory::Timed< rw::math::Vector3D< double > > > :param tpath: [in] the path over which the spline should be generated. :type dStart: rw::math::Vector3D< double > :param dStart: [in] the velocity in the first point :type dEnd: rw::math::Vector3D< double > :param dEnd: [in] the velocity in the last point. :rtype: rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Vector3D< double > > > :return: a trajectory of CubicSplineInterpolators Notes: the following template parameters are currently supported: Transform3DVector, Vector3D, Quaternion


Overload 6:

creates a clamped spline trajectory where the timed label is used to determine the time between samples. A clamped spline controls the velocity in the end points. The acceleration is 0 in the end points. :type path: rw::trajectory::Path< rw::math::Vector3D< double > > :param path: [in] the path over which the spline should be generated. :type times: std::vector< double > :param times: [in] the times associated to the configurations in path. :type dStart: rw::math::Vector3D< double > :param dStart: [in] the velocity in the first point :type dEnd: rw::math::Vector3D< double > :param dEnd: [in] the velocity in the last point. :rtype: rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Vector3D< double > > > :return: a trajectory of CubicSplineInterpolators Notes: the following template parameters are currently supported: Transform3DVector, Vector3D, Quaternion


Overload 7:

creates a clamped spline trajectory with equally spaced via points. That is time between samples is 1. A clamped spline controls the velocity in the end points. The acceleration is 0 in the end points. :type path: rw::trajectory::Path< rw::math::Transform3DVector< double > > :param path: [in] the path over which the spline should be generated. :type dStart: rw::math::Transform3DVector< double > :param dStart: [in] the velocity in the first point :type dEnd: rw::math::Transform3DVector< double > :param dEnd: [in] the velocity in the last point. :type timeStep: float, optional :param timeStep: documentation missing ! :rtype: rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Transform3DVector< double > > > :return: a trajectory of CubicSplineInterpolators Notes: the following template parameters are currently supported: Transform3DVector, Vector3D, Quaternion


Overload 8:

creates a clamped spline trajectory with equally spaced via points. That is time between samples is 1. A clamped spline controls the velocity in the end points. The acceleration is 0 in the end points. :type path: rw::trajectory::Path< rw::math::Transform3DVector< double > > :param path: [in] the path over which the spline should be generated. :type dStart: rw::math::Transform3DVector< double > :param dStart: [in] the velocity in the first point :type dEnd: rw::math::Transform3DVector< double > :param dEnd: [in] the velocity in the last point. :param timeStep: documentation missing ! :rtype: rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Transform3DVector< double > > > :return: a trajectory of CubicSplineInterpolators Notes: the following template parameters are currently supported: Transform3DVector, Vector3D, Quaternion


Overload 9:

creates a clamped spline trajectory where the timed label is used to determine the time between samples. A clamped spline controls the velocity in the end points. The acceleration is 0 in the end points. :type tpath: rw::trajectory::Path< rw::trajectory::Timed< rw::math::Transform3DVector< double > > > :param tpath: [in] the path over which the spline should be generated. :type dStart: rw::math::Transform3DVector< double > :param dStart: [in] the velocity in the first point :type dEnd: rw::math::Transform3DVector< double > :param dEnd: [in] the velocity in the last point. :rtype: rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Transform3DVector< double > > > :return: a trajectory of CubicSplineInterpolators Notes: the following template parameters are currently supported: Transform3DVector, Vector3D, Quaternion


Overload 10:

creates a clamped spline trajectory where the timed label is used to determine the time between samples. A clamped spline controls the velocity in the end points. The acceleration is 0 in the end points. :type path: rw::trajectory::Path< rw::math::Transform3DVector< double > > :param path: [in] the path over which the spline should be generated. :type times: std::vector< double > :param times: [in] the times associated to the configurations in path. :type dStart: rw::math::Transform3DVector< double > :param dStart: [in] the velocity in the first point :type dEnd: rw::math::Transform3DVector< double > :param dEnd: [in] the velocity in the last point. :rtype: rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Transform3DVector< double > > > :return: a trajectory of CubicSplineInterpolators Notes: the following template parameters are currently supported: Transform3DVector, Vector3D, Quaternion


Overload 11:

creates a clamped spline trajectory with equally spaced via points. That is time between samples is 1. A clamped spline controls the velocity in the end points. The acceleration is 0 in the end points. :type path: rw::trajectory::Path< rw::math::Q > :param path: [in] the path over which the spline should be generated. :type dStart: Q :param dStart: [in] the velocity in the first point :type dEnd: Q :param dEnd: [in] the velocity in the last point. :type timeStep: float, optional :param timeStep: documentation missing ! :rtype: rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Q > > :return: a trajectory of CubicSplineInterpolators Notes: the following template parameters are currently supported: Transform3DVector, Vector3D, Quaternion


Overload 12:

creates a clamped spline trajectory with equally spaced via points. That is time between samples is 1. A clamped spline controls the velocity in the end points. The acceleration is 0 in the end points. :type path: rw::trajectory::Path< rw::math::Q > :param path: [in] the path over which the spline should be generated. :type dStart: Q :param dStart: [in] the velocity in the first point :type dEnd: Q :param dEnd: [in] the velocity in the last point. :param timeStep: documentation missing ! :rtype: rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Q > > :return: a trajectory of CubicSplineInterpolators Notes: the following template parameters are currently supported: Transform3DVector, Vector3D, Quaternion


Overload 13:

creates a clamped spline trajectory where the timed label is used to determine the time between samples. A clamped spline controls the velocity in the end points. The acceleration is 0 in the end points. :type tpath: rw::trajectory::Path< rw::trajectory::Timed< rw::math::Q > > :param tpath: [in] the path over which the spline should be generated. :type dStart: Q :param dStart: [in] the velocity in the first point :type dEnd: Q :param dEnd: [in] the velocity in the last point. :rtype: rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Q > > :return: a trajectory of CubicSplineInterpolators Notes: the following template parameters are currently supported: Transform3DVector, Vector3D, Quaternion


Overload 14:

creates a clamped spline trajectory where the timed label is used to determine the time between samples. A clamped spline controls the velocity in the end points. The acceleration is 0 in the end points. :type path: rw::trajectory::Path< rw::math::Q > :param path: [in] the path over which the spline should be generated. :type times: std::vector< double > :param times: [in] the times associated to the configurations in path. :type dStart: Q :param dStart: [in] the velocity in the first point :type dEnd: Q :param dEnd: [in] the velocity in the last point. :rtype: rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Q > > :return: a trajectory of CubicSplineInterpolators Notes: the following template parameters are currently supported: Transform3DVector, Vector3D, Quaternion


Overload 15:

creates a clamped spline trajectory with equally spaced via points. That is time between samples is 1. A clamped spline controls the velocity in the end points. The acceleration is 0 in the end points. :type path: rw::trajectory::Path< rw::math::Quaternion< double > > :param path: [in] the path over which the spline should be generated. :type dStart: rw::math::Quaternion< double > :param dStart: [in] the velocity in the first point :type dEnd: rw::math::Quaternion< double > :param dEnd: [in] the velocity in the last point. :type timeStep: float, optional :param timeStep: documentation missing ! :rtype: rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Quaternion< double > > > :return: a trajectory of CubicSplineInterpolators Notes: the following template parameters are currently supported: Transform3DVector, Vector3D, Quaternion


Overload 16:

creates a clamped spline trajectory with equally spaced via points. That is time between samples is 1. A clamped spline controls the velocity in the end points. The acceleration is 0 in the end points. :type path: rw::trajectory::Path< rw::math::Quaternion< double > > :param path: [in] the path over which the spline should be generated. :type dStart: rw::math::Quaternion< double > :param dStart: [in] the velocity in the first point :type dEnd: rw::math::Quaternion< double > :param dEnd: [in] the velocity in the last point. :param timeStep: documentation missing ! :rtype: rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Quaternion< double > > > :return: a trajectory of CubicSplineInterpolators Notes: the following template parameters are currently supported: Transform3DVector, Vector3D, Quaternion


Overload 17:

creates a clamped spline trajectory where the timed label is used to determine the time between samples. A clamped spline controls the velocity in the end points. The acceleration is 0 in the end points. :type tpath: rw::trajectory::Path< rw::trajectory::Timed< rw::math::Quaternion< double > > > :param tpath: [in] the path over which the spline should be generated. :type dStart: rw::math::Quaternion< double > :param dStart: [in] the velocity in the first point :type dEnd: rw::math::Quaternion< double > :param dEnd: [in] the velocity in the last point. :rtype: rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Quaternion< double > > > :return: a trajectory of CubicSplineInterpolators Notes: the following template parameters are currently supported: Transform3DVector, Vector3D, Quaternion


Overload 18:

creates a clamped spline trajectory where the timed label is used to determine the time between samples. A clamped spline controls the velocity in the end points. The acceleration is 0 in the end points. :type path: rw::trajectory::Path< rw::math::Quaternion< double > > :param path: [in] the path over which the spline should be generated. :type times: std::vector< double > :param times: [in] the times associated to the configurations in path. :type dStart: rw::math::Quaternion< double > :param dStart: [in] the velocity in the first point :type dEnd: rw::math::Quaternion< double > :param dEnd: [in] the velocity in the last point. :rtype: rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Quaternion< double > > > :return: a trajectory of CubicSplineInterpolators Notes: the following template parameters are currently supported: Transform3DVector, Vector3D, Quaternion

static makeNaturalSpline(*args)

Overload 1:

constructs a free/natural cubic spline A natural cubic spline has free boundary conditions. Only one condition can be said for the end points namely acceleration is zero. * The spline passes through each data point. * The spline forms a continuous function over [a,b]. * The spline forms a smooth function. * The second derivative is continuous.

Parameters
  • qpath (rw::core::Ptr< rw::trajectory::Path< rw::math::Q > >) – [in] a list of points that the spline should intersect

  • timeStep (float, optional) – [in] the duration of each spline path


Overload 2:

constructs a natural cubic spline, see above.

Parameters

tqpath (rw::core::Ptr< rw::trajectory::Path< rw::trajectory::Timed< rw::math::Q > > >) – [in] a list of points with associated timestaps. The spline will intersect the points at the time specified in tqpath

Conditional comment: :param offset: [in] End of conditional comment. :rtype: rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Q > > :return: a trajectory of CubicSplineInterpolators


Overload 3:

Construct a natural cubic spline. See documentation of CubicSplineFactory::makeNaturalSpline(QPath::Ptr, double)

Parameters
  • qpath (rw::trajectory::Path< rw::math::Q >) – [in] Path to follow

  • times (std::vector< double >) – [in] Times associated to the different configurations in qpath

Return type

rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Q > >

Returns

a trajectory of CubicSplineInterpolators


Overload 4:

constructs a free/natural cubic spline A natural cubic spline has free boundary conditions. Only one condition can be said for the end points namely acceleration is zero. * The spline passes through each data point. * The spline forms a continuous function over [a,b]. * The spline forms a smooth function. * The second derivative is continuous.

Parameters
  • path (rw::trajectory::Path< rw::math::Transform3D< double > >) – [in] a list of points that the spline should intersect

  • timeStep (float, optional) – [in] the duration of each spline path


Overload 5:

constructs a free/natural cubic spline A natural cubic spline has free boundary conditions. Only one condition can be said for the end points namely acceleration is zero. * The spline passes through each data point. * The spline forms a continuous function over [a,b]. * The spline forms a smooth function. * The second derivative is continuous.

Parameters
  • path (rw::trajectory::Path< rw::math::Transform3D< double > >) – [in] a list of points that the spline should intersect

  • timeStep – [in] the duration of each spline path


Overload 6:

constructs a natural cubic spline, see above. :type path: rw::trajectory::Path< rw::trajectory::Timed< rw::math::Transform3D< double > > > :param path: [in] a list of points with associated timestaps. The spline will intersect

the points at the time specified in tqpath

Conditional comment: :param offset: [in] End of conditional comment. :rtype: rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Transform3DVector< double > > > :return: a trajectory of CubicSplineInterpolators


Overload 7:

Construct a natural cubic spline. See documentation of CubicSplineFactory::makeNaturalSpline(QPath::Ptr, double)

Parameters
  • path (rw::trajectory::Path< rw::math::Transform3D< double > >) – [in] Path to follow

  • times (std::vector< double >) – [in] Times associated to the different configurations in path

Return type

rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Transform3DVector< double > > >

Returns

a trajectory of CubicSplineInterpolators


Overload 8:

constructs a free/natural cubic spline A natural cubic spline has free boundary conditions. Only one condition can be said for the end points namely acceleration is zero. * The spline passes through each data point. * The spline forms a continuous function over [a,b]. * The spline forms a smooth function. * The second derivative is continuous.

Parameters
  • path (rw::trajectory::Path< rw::math::Vector3D< double > >) – [in] a list of points that the spline should intersect

  • timeStep (float, optional) – [in] the duration of each spline path

Return type

rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Vector3D< double > > >

Returns

the Interpolated Trajectory of the Cubic spline

Notes: the following template parameters are currently supported: Transform3DVector, Vector3D, Quaternion


Overload 9:

constructs a free/natural cubic spline A natural cubic spline has free boundary conditions. Only one condition can be said for the end points namely acceleration is zero. * The spline passes through each data point. * The spline forms a continuous function over [a,b]. * The spline forms a smooth function. * The second derivative is continuous.

Parameters
  • path (rw::trajectory::Path< rw::math::Vector3D< double > >) – [in] a list of points that the spline should intersect

  • timeStep – [in] the duration of each spline path

Return type

rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Vector3D< double > > >

Returns

the Interpolated Trajectory of the Cubic spline

Notes: the following template parameters are currently supported: Transform3DVector, Vector3D, Quaternion


Overload 10:

constructs a natural cubic spline, see above. :type path: rw::trajectory::Path< rw::trajectory::Timed< rw::math::Vector3D< double > > > :param path: [in] a list of points with associated timestaps. The spline will intersect

the points at the time specified in tqpath

Conditional comment: :param offset: [in] End of conditional comment. :rtype: rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Vector3D< double > > > :return: a trajectory of CubicSplineInterpolators Notes: the following template parameters are currently supported: Transform3DVector, Vector3D, Quaternion


Overload 11:

Construct a natural cubic spline. See documentation of CubicSplineFactory::makeNaturalSpline(QPath::Ptr, double)

Parameters
  • path (rw::trajectory::Path< rw::math::Vector3D< double > >) – [in] Path to follow

  • times (std::vector< double >) – [in] Times associated to the different configurations in path

Return type

rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Vector3D< double > > >

Returns

a trajectory of CubicSplineInterpolators

Notes: the following template parameters are currently supported: Transform3DVector, Vector3D, Quaternion


Overload 12:

constructs a free/natural cubic spline A natural cubic spline has free boundary conditions. Only one condition can be said for the end points namely acceleration is zero. * The spline passes through each data point. * The spline forms a continuous function over [a,b]. * The spline forms a smooth function. * The second derivative is continuous.

Parameters
  • path (rw::trajectory::Path< rw::math::Transform3DVector< double > >) – [in] a list of points that the spline should intersect

  • timeStep (float, optional) – [in] the duration of each spline path

Return type

rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Transform3DVector< double > > >

Returns

the Interpolated Trajectory of the Cubic spline

Notes: the following template parameters are currently supported: Transform3DVector, Vector3D, Quaternion


Overload 13:

constructs a free/natural cubic spline A natural cubic spline has free boundary conditions. Only one condition can be said for the end points namely acceleration is zero. * The spline passes through each data point. * The spline forms a continuous function over [a,b]. * The spline forms a smooth function. * The second derivative is continuous.

Parameters
  • path (rw::trajectory::Path< rw::math::Transform3DVector< double > >) – [in] a list of points that the spline should intersect

  • timeStep – [in] the duration of each spline path

Return type

rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Transform3DVector< double > > >

Returns

the Interpolated Trajectory of the Cubic spline

Notes: the following template parameters are currently supported: Transform3DVector, Vector3D, Quaternion


Overload 14:

constructs a natural cubic spline, see above. :type path: rw::trajectory::Path< rw::trajectory::Timed< rw::math::Transform3DVector< double > > > :param path: [in] a list of points with associated timestaps. The spline will intersect

the points at the time specified in tqpath

Conditional comment: :param offset: [in] End of conditional comment. :rtype: rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Transform3DVector< double > > > :return: a trajectory of CubicSplineInterpolators Notes: the following template parameters are currently supported: Transform3DVector, Vector3D, Quaternion


Overload 15:

Construct a natural cubic spline. See documentation of CubicSplineFactory::makeNaturalSpline(QPath::Ptr, double)

Parameters
  • path (rw::trajectory::Path< rw::math::Transform3DVector< double > >) – [in] Path to follow

  • times (std::vector< double >) – [in] Times associated to the different configurations in path

Return type

rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Transform3DVector< double > > >

Returns

a trajectory of CubicSplineInterpolators

Notes: the following template parameters are currently supported: Transform3DVector, Vector3D, Quaternion


Overload 16:

constructs a free/natural cubic spline A natural cubic spline has free boundary conditions. Only one condition can be said for the end points namely acceleration is zero. * The spline passes through each data point. * The spline forms a continuous function over [a,b]. * The spline forms a smooth function. * The second derivative is continuous.

Parameters
  • path (rw::trajectory::Path< rw::math::Q >) – [in] a list of points that the spline should intersect

  • timeStep (float, optional) – [in] the duration of each spline path

Return type

rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Q > >

Returns

the Interpolated Trajectory of the Cubic spline

Notes: the following template parameters are currently supported: Transform3DVector, Vector3D, Quaternion


Overload 17:

constructs a free/natural cubic spline A natural cubic spline has free boundary conditions. Only one condition can be said for the end points namely acceleration is zero. * The spline passes through each data point. * The spline forms a continuous function over [a,b]. * The spline forms a smooth function. * The second derivative is continuous.

Parameters
  • path (rw::trajectory::Path< rw::math::Q >) – [in] a list of points that the spline should intersect

  • timeStep – [in] the duration of each spline path

Return type

rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Q > >

Returns

the Interpolated Trajectory of the Cubic spline

Notes: the following template parameters are currently supported: Transform3DVector, Vector3D, Quaternion


Overload 18:

constructs a natural cubic spline, see above. :type path: rw::trajectory::Path< rw::trajectory::Timed< rw::math::Q > > :param path: [in] a list of points with associated timestaps. The spline will intersect

the points at the time specified in tqpath

Conditional comment: :param offset: [in] End of conditional comment. :rtype: rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Q > > :return: a trajectory of CubicSplineInterpolators Notes: the following template parameters are currently supported: Transform3DVector, Vector3D, Quaternion


Overload 19:

constructs a free/natural cubic spline A natural cubic spline has free boundary conditions. Only one condition can be said for the end points namely acceleration is zero. * The spline passes through each data point. * The spline forms a continuous function over [a,b]. * The spline forms a smooth function. * The second derivative is continuous.

Parameters
  • path (rw::trajectory::Path< rw::math::Quaternion< double > >) – [in] a list of points that the spline should intersect

  • timeStep (float, optional) – [in] the duration of each spline path

Return type

rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Quaternion< double > > >

Returns

the Interpolated Trajectory of the Cubic spline

Notes: the following template parameters are currently supported: Transform3DVector, Vector3D, Quaternion


Overload 20:

constructs a free/natural cubic spline A natural cubic spline has free boundary conditions. Only one condition can be said for the end points namely acceleration is zero. * The spline passes through each data point. * The spline forms a continuous function over [a,b]. * The spline forms a smooth function. * The second derivative is continuous.

Parameters
  • path (rw::trajectory::Path< rw::math::Quaternion< double > >) – [in] a list of points that the spline should intersect

  • timeStep – [in] the duration of each spline path

Return type

rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Quaternion< double > > >

Returns

the Interpolated Trajectory of the Cubic spline

Notes: the following template parameters are currently supported: Transform3DVector, Vector3D, Quaternion


Overload 21:

constructs a natural cubic spline, see above. :type path: rw::trajectory::Path< rw::trajectory::Timed< rw::math::Quaternion< double > > > :param path: [in] a list of points with associated timestaps. The spline will intersect

the points at the time specified in tqpath

Conditional comment: :param offset: [in] End of conditional comment. :rtype: rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Quaternion< double > > > :return: a trajectory of CubicSplineInterpolators Notes: the following template parameters are currently supported: Transform3DVector, Vector3D, Quaternion


Overload 22:

Construct a natural cubic spline. See documentation of CubicSplineFactory::makeNaturalSpline(QPath::Ptr, double)

Parameters
  • path (rw::trajectory::Path< rw::math::Quaternion< double > >) – [in] Path to follow

  • times (std::vector< double >) – [in] Times associated to the different configurations in path

Return type

rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Quaternion< double > > >

Returns

a trajectory of CubicSplineInterpolators

Notes: the following template parameters are currently supported: Transform3DVector, Vector3D, Quaternion

static makeSQUAD(*args)

Overload 1:

constructs a Spherical Spline Quaternion interpolation (SQUAD) A natural SQUAD has free boundary conditions. The SQUAD passes through each data point. The SQUAD forms a continuous function over [a,b]. The SQUAD forms a smooth function. The second derivative is continuous.

Parameters
  • path (rw::trajectory::Path< rw::math::Quaternion< double > >) – [in] a list of points that the SQUAD should intersect

  • timeStep (float, optional) – [in] the duration of each SQUAD path

Return type

rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Quaternion< double > > >

Returns

a trajectory of SQUADInterpolators


Overload 2:

constructs a Spherical Spline Quaternion interpolation (SQUAD)

Parameters

tpath (rw::trajectory::Path< rw::trajectory::Timed< rw::math::Quaternion< double > > >) – [in] a list of points with associated timestaps. The SQUAD will intersect the points at the time specified in tpath

Return type

rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Quaternion< double > > >

Returns

a trajectory of SQUADInterpolators


Overload 3:

constructs a Spherical Spline Quaternion interpolation (SQUAD)

Parameters
  • path (rw::trajectory::Path< rw::math::Quaternion< double > >) – [in] Path to follow

  • times (std::vector< double >) – [in] Times associated to the different configurations in qpath

Return type

rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Quaternion< double > > >

Returns

a trajectory of CubicSplineInterpolators

property thisown

The membership flag

sdurw_trajectory.sdurw_trajectory.CubicSplineFactory_makeClampedSpline(*args)

Overload 1:

creates a clamped spline trajectory with equally spaced via points. That is time between samples is 1. A clamped spline controls the velocity in the end points. The acceleration is 0 in the end points. :type qpath: rw::core::Ptr< rw::trajectory::Path< rw::math::Q > > :param qpath: [in] the path over which the spline should be generated. :type dqStart: Q :param dqStart: [in] the velocity in the first point :type dqEnd: Q :param dqEnd: [in] the velocity in the last point. :type timeStep: float, optional :param timeStep: documentation missing ! :rtype: rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Q > > :return: a trajectory of CubicSplineInterpolators Notes: the following template parameters are currently supported: Transform3DVector, Vector3D, Quaternion


Overload 2:

creates a clamped spline trajectory where the timed label is used to determine the time between samples. A clamped spline controls the velocity in the end points. The acceleration is 0 in the end points. :type tqpath: rw::core::Ptr< rw::trajectory::Path< rw::trajectory::Timed< rw::math::Q > > > :param tqpath: [in] the path over which the spline should be generated. :type dqStart: Q :param dqStart: [in] the velocity in the first point :type dqEnd: Q :param dqEnd: [in] the velocity in the last point. :rtype: rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Q > > :return: a trajectory of CubicSplineInterpolators Notes: the following template parameters are currently supported: Transform3DVector, Vector3D, Quaternion


Overload 3:

creates a clamped spline trajectory with equally spaced via points. That is time between samples is 1. A clamped spline controls the velocity in the end points. The acceleration is 0 in the end points. :type path: rw::trajectory::Path< rw::math::Vector3D< double > > :param path: [in] the path over which the spline should be generated. :type dStart: rw::math::Vector3D< double > :param dStart: [in] the velocity in the first point :type dEnd: rw::math::Vector3D< double > :param dEnd: [in] the velocity in the last point. :type timeStep: float, optional :param timeStep: documentation missing ! :rtype: rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Vector3D< double > > > :return: a trajectory of CubicSplineInterpolators Notes: the following template parameters are currently supported: Transform3DVector, Vector3D, Quaternion


Overload 4:

creates a clamped spline trajectory with equally spaced via points. That is time between samples is 1. A clamped spline controls the velocity in the end points. The acceleration is 0 in the end points. :type path: rw::trajectory::Path< rw::math::Vector3D< double > > :param path: [in] the path over which the spline should be generated. :type dStart: rw::math::Vector3D< double > :param dStart: [in] the velocity in the first point :type dEnd: rw::math::Vector3D< double > :param dEnd: [in] the velocity in the last point. :param timeStep: documentation missing ! :rtype: rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Vector3D< double > > > :return: a trajectory of CubicSplineInterpolators Notes: the following template parameters are currently supported: Transform3DVector, Vector3D, Quaternion


Overload 5:

creates a clamped spline trajectory where the timed label is used to determine the time between samples. A clamped spline controls the velocity in the end points. The acceleration is 0 in the end points. :type tpath: rw::trajectory::Path< rw::trajectory::Timed< rw::math::Vector3D< double > > > :param tpath: [in] the path over which the spline should be generated. :type dStart: rw::math::Vector3D< double > :param dStart: [in] the velocity in the first point :type dEnd: rw::math::Vector3D< double > :param dEnd: [in] the velocity in the last point. :rtype: rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Vector3D< double > > > :return: a trajectory of CubicSplineInterpolators Notes: the following template parameters are currently supported: Transform3DVector, Vector3D, Quaternion


Overload 6:

creates a clamped spline trajectory where the timed label is used to determine the time between samples. A clamped spline controls the velocity in the end points. The acceleration is 0 in the end points. :type path: rw::trajectory::Path< rw::math::Vector3D< double > > :param path: [in] the path over which the spline should be generated. :type times: std::vector< double > :param times: [in] the times associated to the configurations in path. :type dStart: rw::math::Vector3D< double > :param dStart: [in] the velocity in the first point :type dEnd: rw::math::Vector3D< double > :param dEnd: [in] the velocity in the last point. :rtype: rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Vector3D< double > > > :return: a trajectory of CubicSplineInterpolators Notes: the following template parameters are currently supported: Transform3DVector, Vector3D, Quaternion


Overload 7:

creates a clamped spline trajectory with equally spaced via points. That is time between samples is 1. A clamped spline controls the velocity in the end points. The acceleration is 0 in the end points. :type path: rw::trajectory::Path< rw::math::Transform3DVector< double > > :param path: [in] the path over which the spline should be generated. :type dStart: rw::math::Transform3DVector< double > :param dStart: [in] the velocity in the first point :type dEnd: rw::math::Transform3DVector< double > :param dEnd: [in] the velocity in the last point. :type timeStep: float, optional :param timeStep: documentation missing ! :rtype: rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Transform3DVector< double > > > :return: a trajectory of CubicSplineInterpolators Notes: the following template parameters are currently supported: Transform3DVector, Vector3D, Quaternion


Overload 8:

creates a clamped spline trajectory with equally spaced via points. That is time between samples is 1. A clamped spline controls the velocity in the end points. The acceleration is 0 in the end points. :type path: rw::trajectory::Path< rw::math::Transform3DVector< double > > :param path: [in] the path over which the spline should be generated. :type dStart: rw::math::Transform3DVector< double > :param dStart: [in] the velocity in the first point :type dEnd: rw::math::Transform3DVector< double > :param dEnd: [in] the velocity in the last point. :param timeStep: documentation missing ! :rtype: rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Transform3DVector< double > > > :return: a trajectory of CubicSplineInterpolators Notes: the following template parameters are currently supported: Transform3DVector, Vector3D, Quaternion


Overload 9:

creates a clamped spline trajectory where the timed label is used to determine the time between samples. A clamped spline controls the velocity in the end points. The acceleration is 0 in the end points. :type tpath: rw::trajectory::Path< rw::trajectory::Timed< rw::math::Transform3DVector< double > > > :param tpath: [in] the path over which the spline should be generated. :type dStart: rw::math::Transform3DVector< double > :param dStart: [in] the velocity in the first point :type dEnd: rw::math::Transform3DVector< double > :param dEnd: [in] the velocity in the last point. :rtype: rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Transform3DVector< double > > > :return: a trajectory of CubicSplineInterpolators Notes: the following template parameters are currently supported: Transform3DVector, Vector3D, Quaternion


Overload 10:

creates a clamped spline trajectory where the timed label is used to determine the time between samples. A clamped spline controls the velocity in the end points. The acceleration is 0 in the end points. :type path: rw::trajectory::Path< rw::math::Transform3DVector< double > > :param path: [in] the path over which the spline should be generated. :type times: std::vector< double > :param times: [in] the times associated to the configurations in path. :type dStart: rw::math::Transform3DVector< double > :param dStart: [in] the velocity in the first point :type dEnd: rw::math::Transform3DVector< double > :param dEnd: [in] the velocity in the last point. :rtype: rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Transform3DVector< double > > > :return: a trajectory of CubicSplineInterpolators Notes: the following template parameters are currently supported: Transform3DVector, Vector3D, Quaternion


Overload 11:

creates a clamped spline trajectory with equally spaced via points. That is time between samples is 1. A clamped spline controls the velocity in the end points. The acceleration is 0 in the end points. :type path: rw::trajectory::Path< rw::math::Q > :param path: [in] the path over which the spline should be generated. :type dStart: Q :param dStart: [in] the velocity in the first point :type dEnd: Q :param dEnd: [in] the velocity in the last point. :type timeStep: float, optional :param timeStep: documentation missing ! :rtype: rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Q > > :return: a trajectory of CubicSplineInterpolators Notes: the following template parameters are currently supported: Transform3DVector, Vector3D, Quaternion


Overload 12:

creates a clamped spline trajectory with equally spaced via points. That is time between samples is 1. A clamped spline controls the velocity in the end points. The acceleration is 0 in the end points. :type path: rw::trajectory::Path< rw::math::Q > :param path: [in] the path over which the spline should be generated. :type dStart: Q :param dStart: [in] the velocity in the first point :type dEnd: Q :param dEnd: [in] the velocity in the last point. :param timeStep: documentation missing ! :rtype: rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Q > > :return: a trajectory of CubicSplineInterpolators Notes: the following template parameters are currently supported: Transform3DVector, Vector3D, Quaternion


Overload 13:

creates a clamped spline trajectory where the timed label is used to determine the time between samples. A clamped spline controls the velocity in the end points. The acceleration is 0 in the end points. :type tpath: rw::trajectory::Path< rw::trajectory::Timed< rw::math::Q > > :param tpath: [in] the path over which the spline should be generated. :type dStart: Q :param dStart: [in] the velocity in the first point :type dEnd: Q :param dEnd: [in] the velocity in the last point. :rtype: rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Q > > :return: a trajectory of CubicSplineInterpolators Notes: the following template parameters are currently supported: Transform3DVector, Vector3D, Quaternion


Overload 14:

creates a clamped spline trajectory where the timed label is used to determine the time between samples. A clamped spline controls the velocity in the end points. The acceleration is 0 in the end points. :type path: rw::trajectory::Path< rw::math::Q > :param path: [in] the path over which the spline should be generated. :type times: std::vector< double > :param times: [in] the times associated to the configurations in path. :type dStart: Q :param dStart: [in] the velocity in the first point :type dEnd: Q :param dEnd: [in] the velocity in the last point. :rtype: rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Q > > :return: a trajectory of CubicSplineInterpolators Notes: the following template parameters are currently supported: Transform3DVector, Vector3D, Quaternion


Overload 15:

creates a clamped spline trajectory with equally spaced via points. That is time between samples is 1. A clamped spline controls the velocity in the end points. The acceleration is 0 in the end points. :type path: rw::trajectory::Path< rw::math::Quaternion< double > > :param path: [in] the path over which the spline should be generated. :type dStart: rw::math::Quaternion< double > :param dStart: [in] the velocity in the first point :type dEnd: rw::math::Quaternion< double > :param dEnd: [in] the velocity in the last point. :type timeStep: float, optional :param timeStep: documentation missing ! :rtype: rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Quaternion< double > > > :return: a trajectory of CubicSplineInterpolators Notes: the following template parameters are currently supported: Transform3DVector, Vector3D, Quaternion


Overload 16:

creates a clamped spline trajectory with equally spaced via points. That is time between samples is 1. A clamped spline controls the velocity in the end points. The acceleration is 0 in the end points. :type path: rw::trajectory::Path< rw::math::Quaternion< double > > :param path: [in] the path over which the spline should be generated. :type dStart: rw::math::Quaternion< double > :param dStart: [in] the velocity in the first point :type dEnd: rw::math::Quaternion< double > :param dEnd: [in] the velocity in the last point. :param timeStep: documentation missing ! :rtype: rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Quaternion< double > > > :return: a trajectory of CubicSplineInterpolators Notes: the following template parameters are currently supported: Transform3DVector, Vector3D, Quaternion


Overload 17:

creates a clamped spline trajectory where the timed label is used to determine the time between samples. A clamped spline controls the velocity in the end points. The acceleration is 0 in the end points. :type tpath: rw::trajectory::Path< rw::trajectory::Timed< rw::math::Quaternion< double > > > :param tpath: [in] the path over which the spline should be generated. :type dStart: rw::math::Quaternion< double > :param dStart: [in] the velocity in the first point :type dEnd: rw::math::Quaternion< double > :param dEnd: [in] the velocity in the last point. :rtype: rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Quaternion< double > > > :return: a trajectory of CubicSplineInterpolators Notes: the following template parameters are currently supported: Transform3DVector, Vector3D, Quaternion


Overload 18:

creates a clamped spline trajectory where the timed label is used to determine the time between samples. A clamped spline controls the velocity in the end points. The acceleration is 0 in the end points. :type path: rw::trajectory::Path< rw::math::Quaternion< double > > :param path: [in] the path over which the spline should be generated. :type times: std::vector< double > :param times: [in] the times associated to the configurations in path. :type dStart: rw::math::Quaternion< double > :param dStart: [in] the velocity in the first point :type dEnd: rw::math::Quaternion< double > :param dEnd: [in] the velocity in the last point. :rtype: rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Quaternion< double > > > :return: a trajectory of CubicSplineInterpolators Notes: the following template parameters are currently supported: Transform3DVector, Vector3D, Quaternion

sdurw_trajectory.sdurw_trajectory.CubicSplineFactory_makeNaturalSpline(*args)

Overload 1:

constructs a free/natural cubic spline A natural cubic spline has free boundary conditions. Only one condition can be said for the end points namely acceleration is zero. * The spline passes through each data point. * The spline forms a continuous function over [a,b]. * The spline forms a smooth function. * The second derivative is continuous.

Parameters
  • qpath (rw::core::Ptr< rw::trajectory::Path< rw::math::Q > >) – [in] a list of points that the spline should intersect

  • timeStep (float, optional) – [in] the duration of each spline path


Overload 2:

constructs a natural cubic spline, see above.

Parameters

tqpath (rw::core::Ptr< rw::trajectory::Path< rw::trajectory::Timed< rw::math::Q > > >) – [in] a list of points with associated timestaps. The spline will intersect the points at the time specified in tqpath

Conditional comment: :param offset: [in] End of conditional comment. :rtype: rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Q > > :return: a trajectory of CubicSplineInterpolators


Overload 3:

Construct a natural cubic spline. See documentation of CubicSplineFactory::makeNaturalSpline(QPath::Ptr, double)

Parameters
  • qpath (rw::trajectory::Path< rw::math::Q >) – [in] Path to follow

  • times (std::vector< double >) – [in] Times associated to the different configurations in qpath

Return type

rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Q > >

Returns

a trajectory of CubicSplineInterpolators


Overload 4:

constructs a free/natural cubic spline A natural cubic spline has free boundary conditions. Only one condition can be said for the end points namely acceleration is zero. * The spline passes through each data point. * The spline forms a continuous function over [a,b]. * The spline forms a smooth function. * The second derivative is continuous.

Parameters
  • path (rw::trajectory::Path< rw::math::Transform3D< double > >) – [in] a list of points that the spline should intersect

  • timeStep (float, optional) – [in] the duration of each spline path


Overload 5:

constructs a free/natural cubic spline A natural cubic spline has free boundary conditions. Only one condition can be said for the end points namely acceleration is zero. * The spline passes through each data point. * The spline forms a continuous function over [a,b]. * The spline forms a smooth function. * The second derivative is continuous.

Parameters
  • path (rw::trajectory::Path< rw::math::Transform3D< double > >) – [in] a list of points that the spline should intersect

  • timeStep – [in] the duration of each spline path


Overload 6:

constructs a natural cubic spline, see above. :type path: rw::trajectory::Path< rw::trajectory::Timed< rw::math::Transform3D< double > > > :param path: [in] a list of points with associated timestaps. The spline will intersect

the points at the time specified in tqpath

Conditional comment: :param offset: [in] End of conditional comment. :rtype: rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Transform3DVector< double > > > :return: a trajectory of CubicSplineInterpolators


Overload 7:

Construct a natural cubic spline. See documentation of CubicSplineFactory::makeNaturalSpline(QPath::Ptr, double)

Parameters
  • path (rw::trajectory::Path< rw::math::Transform3D< double > >) – [in] Path to follow

  • times (std::vector< double >) – [in] Times associated to the different configurations in path

Return type

rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Transform3DVector< double > > >

Returns

a trajectory of CubicSplineInterpolators


Overload 8:

constructs a free/natural cubic spline A natural cubic spline has free boundary conditions. Only one condition can be said for the end points namely acceleration is zero. * The spline passes through each data point. * The spline forms a continuous function over [a,b]. * The spline forms a smooth function. * The second derivative is continuous.

Parameters
  • path (rw::trajectory::Path< rw::math::Vector3D< double > >) – [in] a list of points that the spline should intersect

  • timeStep (float, optional) – [in] the duration of each spline path

Return type

rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Vector3D< double > > >

Returns

the Interpolated Trajectory of the Cubic spline

Notes: the following template parameters are currently supported: Transform3DVector, Vector3D, Quaternion


Overload 9:

constructs a free/natural cubic spline A natural cubic spline has free boundary conditions. Only one condition can be said for the end points namely acceleration is zero. * The spline passes through each data point. * The spline forms a continuous function over [a,b]. * The spline forms a smooth function. * The second derivative is continuous.

Parameters
  • path (rw::trajectory::Path< rw::math::Vector3D< double > >) – [in] a list of points that the spline should intersect

  • timeStep – [in] the duration of each spline path

Return type

rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Vector3D< double > > >

Returns

the Interpolated Trajectory of the Cubic spline

Notes: the following template parameters are currently supported: Transform3DVector, Vector3D, Quaternion


Overload 10:

constructs a natural cubic spline, see above. :type path: rw::trajectory::Path< rw::trajectory::Timed< rw::math::Vector3D< double > > > :param path: [in] a list of points with associated timestaps. The spline will intersect

the points at the time specified in tqpath

Conditional comment: :param offset: [in] End of conditional comment. :rtype: rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Vector3D< double > > > :return: a trajectory of CubicSplineInterpolators Notes: the following template parameters are currently supported: Transform3DVector, Vector3D, Quaternion


Overload 11:

Construct a natural cubic spline. See documentation of CubicSplineFactory::makeNaturalSpline(QPath::Ptr, double)

Parameters
  • path (rw::trajectory::Path< rw::math::Vector3D< double > >) – [in] Path to follow

  • times (std::vector< double >) – [in] Times associated to the different configurations in path

Return type

rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Vector3D< double > > >

Returns

a trajectory of CubicSplineInterpolators

Notes: the following template parameters are currently supported: Transform3DVector, Vector3D, Quaternion


Overload 12:

constructs a free/natural cubic spline A natural cubic spline has free boundary conditions. Only one condition can be said for the end points namely acceleration is zero. * The spline passes through each data point. * The spline forms a continuous function over [a,b]. * The spline forms a smooth function. * The second derivative is continuous.

Parameters
  • path (rw::trajectory::Path< rw::math::Transform3DVector< double > >) – [in] a list of points that the spline should intersect

  • timeStep (float, optional) – [in] the duration of each spline path

Return type

rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Transform3DVector< double > > >

Returns

the Interpolated Trajectory of the Cubic spline

Notes: the following template parameters are currently supported: Transform3DVector, Vector3D, Quaternion


Overload 13:

constructs a free/natural cubic spline A natural cubic spline has free boundary conditions. Only one condition can be said for the end points namely acceleration is zero. * The spline passes through each data point. * The spline forms a continuous function over [a,b]. * The spline forms a smooth function. * The second derivative is continuous.

Parameters
  • path (rw::trajectory::Path< rw::math::Transform3DVector< double > >) – [in] a list of points that the spline should intersect

  • timeStep – [in] the duration of each spline path

Return type

rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Transform3DVector< double > > >

Returns

the Interpolated Trajectory of the Cubic spline

Notes: the following template parameters are currently supported: Transform3DVector, Vector3D, Quaternion


Overload 14:

constructs a natural cubic spline, see above. :type path: rw::trajectory::Path< rw::trajectory::Timed< rw::math::Transform3DVector< double > > > :param path: [in] a list of points with associated timestaps. The spline will intersect

the points at the time specified in tqpath

Conditional comment: :param offset: [in] End of conditional comment. :rtype: rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Transform3DVector< double > > > :return: a trajectory of CubicSplineInterpolators Notes: the following template parameters are currently supported: Transform3DVector, Vector3D, Quaternion


Overload 15:

Construct a natural cubic spline. See documentation of CubicSplineFactory::makeNaturalSpline(QPath::Ptr, double)

Parameters
  • path (rw::trajectory::Path< rw::math::Transform3DVector< double > >) – [in] Path to follow

  • times (std::vector< double >) – [in] Times associated to the different configurations in path

Return type

rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Transform3DVector< double > > >

Returns

a trajectory of CubicSplineInterpolators

Notes: the following template parameters are currently supported: Transform3DVector, Vector3D, Quaternion


Overload 16:

constructs a free/natural cubic spline A natural cubic spline has free boundary conditions. Only one condition can be said for the end points namely acceleration is zero. * The spline passes through each data point. * The spline forms a continuous function over [a,b]. * The spline forms a smooth function. * The second derivative is continuous.

Parameters
  • path (rw::trajectory::Path< rw::math::Q >) – [in] a list of points that the spline should intersect

  • timeStep (float, optional) – [in] the duration of each spline path

Return type

rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Q > >

Returns

the Interpolated Trajectory of the Cubic spline

Notes: the following template parameters are currently supported: Transform3DVector, Vector3D, Quaternion


Overload 17:

constructs a free/natural cubic spline A natural cubic spline has free boundary conditions. Only one condition can be said for the end points namely acceleration is zero. * The spline passes through each data point. * The spline forms a continuous function over [a,b]. * The spline forms a smooth function. * The second derivative is continuous.

Parameters
  • path (rw::trajectory::Path< rw::math::Q >) – [in] a list of points that the spline should intersect

  • timeStep – [in] the duration of each spline path

Return type

rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Q > >

Returns

the Interpolated Trajectory of the Cubic spline

Notes: the following template parameters are currently supported: Transform3DVector, Vector3D, Quaternion


Overload 18:

constructs a natural cubic spline, see above. :type path: rw::trajectory::Path< rw::trajectory::Timed< rw::math::Q > > :param path: [in] a list of points with associated timestaps. The spline will intersect

the points at the time specified in tqpath

Conditional comment: :param offset: [in] End of conditional comment. :rtype: rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Q > > :return: a trajectory of CubicSplineInterpolators Notes: the following template parameters are currently supported: Transform3DVector, Vector3D, Quaternion


Overload 19:

constructs a free/natural cubic spline A natural cubic spline has free boundary conditions. Only one condition can be said for the end points namely acceleration is zero. * The spline passes through each data point. * The spline forms a continuous function over [a,b]. * The spline forms a smooth function. * The second derivative is continuous.

Parameters
  • path (rw::trajectory::Path< rw::math::Quaternion< double > >) – [in] a list of points that the spline should intersect

  • timeStep (float, optional) – [in] the duration of each spline path

Return type

rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Quaternion< double > > >

Returns

the Interpolated Trajectory of the Cubic spline

Notes: the following template parameters are currently supported: Transform3DVector, Vector3D, Quaternion


Overload 20:

constructs a free/natural cubic spline A natural cubic spline has free boundary conditions. Only one condition can be said for the end points namely acceleration is zero. * The spline passes through each data point. * The spline forms a continuous function over [a,b]. * The spline forms a smooth function. * The second derivative is continuous.

Parameters
  • path (rw::trajectory::Path< rw::math::Quaternion< double > >) – [in] a list of points that the spline should intersect

  • timeStep – [in] the duration of each spline path

Return type

rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Quaternion< double > > >

Returns

the Interpolated Trajectory of the Cubic spline

Notes: the following template parameters are currently supported: Transform3DVector, Vector3D, Quaternion


Overload 21:

constructs a natural cubic spline, see above. :type path: rw::trajectory::Path< rw::trajectory::Timed< rw::math::Quaternion< double > > > :param path: [in] a list of points with associated timestaps. The spline will intersect

the points at the time specified in tqpath

Conditional comment: :param offset: [in] End of conditional comment. :rtype: rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Quaternion< double > > > :return: a trajectory of CubicSplineInterpolators Notes: the following template parameters are currently supported: Transform3DVector, Vector3D, Quaternion


Overload 22:

Construct a natural cubic spline. See documentation of CubicSplineFactory::makeNaturalSpline(QPath::Ptr, double)

Parameters
  • path (rw::trajectory::Path< rw::math::Quaternion< double > >) – [in] Path to follow

  • times (std::vector< double >) – [in] Times associated to the different configurations in path

Return type

rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Quaternion< double > > >

Returns

a trajectory of CubicSplineInterpolators

Notes: the following template parameters are currently supported: Transform3DVector, Vector3D, Quaternion

sdurw_trajectory.sdurw_trajectory.CubicSplineFactory_makeSQUAD(*args)

Overload 1:

constructs a Spherical Spline Quaternion interpolation (SQUAD) A natural SQUAD has free boundary conditions. The SQUAD passes through each data point. The SQUAD forms a continuous function over [a,b]. The SQUAD forms a smooth function. The second derivative is continuous.

Parameters
  • path (rw::trajectory::Path< rw::math::Quaternion< double > >) – [in] a list of points that the SQUAD should intersect

  • timeStep (float, optional) – [in] the duration of each SQUAD path

Return type

rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Quaternion< double > > >

Returns

a trajectory of SQUADInterpolators


Overload 2:

constructs a Spherical Spline Quaternion interpolation (SQUAD)

Parameters

tpath (rw::trajectory::Path< rw::trajectory::Timed< rw::math::Quaternion< double > > >) – [in] a list of points with associated timestaps. The SQUAD will intersect the points at the time specified in tpath

Return type

rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Quaternion< double > > >

Returns

a trajectory of SQUADInterpolators


Overload 3:

constructs a Spherical Spline Quaternion interpolation (SQUAD)

Parameters
  • path (rw::trajectory::Path< rw::math::Quaternion< double > >) – [in] Path to follow

  • times (std::vector< double >) – [in] Times associated to the different configurations in qpath

Return type

rw::core::Ptr< rw::trajectory::InterpolatorTrajectory< rw::math::Quaternion< double > > >

Returns

a trajectory of CubicSplineInterpolators

class sdurw_trajectory.sdurw_trajectory.CubicSplineInterpolatorQ(a, b, c, d, duration)

Bases: InterpolatorQ

This class represents a 3-degree polynomial function, used in Cubic Splines hence the name CubicSegment.

\(\bf{f}(t)= \bf{a} + \bf{b}\cdot t + \bf{c}\cdot t^2 \bf{d}\cdot t^3\)

__init__(a, b, c, d, duration)
ddx(t)

Notes: The second derivative is a 1-degree polynomial: \(\bf{df}(t)= 2\cdot \bf{c} + 6\cdot \bf{d}\cdot t\)

duration()

Returns the duration of the interpolator

The duration is defined as the time it takes to move from one end of the interpolator to the other. :rtype: float :return: duration

dx(t)

Notes: The derivative is a 2-degree polynomial: \(\bf{df}(t)= \bf{b} + 2\cdot \bf{c}\cdot t + 3\cdot \bf{d}\cdot t^2\)

property thisown

The membership flag

x(t)

Notes: The cubic polynomial is given by a 3-degree polynomial: \(\bf{f}(t)= \bf{a} + \bf{b}\cdot t + \bf{c}\cdot t^2 \bf{d}\cdot t^3\)

class sdurw_trajectory.sdurw_trajectory.CubicSplineInterpolatorQCPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

__init__(*args)

Overload 1:

Default constructor yielding a NULL-pointer.


Overload 2:

Do not take ownership of ptr.

ptr can be null.

The constructor is implicit on purpose.

ddx(t)

Notes: The second derivative is a 1-degree polynomial: \(\bf{df}(t)= 2\cdot \bf{c} + 6\cdot \bf{d}\cdot t\)

deref()

The pointer stored in the object.

duration()
dx(t)

Notes: The derivative is a 2-degree polynomial: \(\bf{df}(t)= \bf{b} + 2\cdot \bf{c}\cdot t + 3\cdot \bf{d}\cdot t^2\)

getDeref()

Member access operator.

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

property thisown

The membership flag

x(t)

Notes: The cubic polynomial is given by a 3-degree polynomial: \(\bf{f}(t)= \bf{a} + \bf{b}\cdot t + \bf{c}\cdot t^2 \bf{d}\cdot t^3\)

class sdurw_trajectory.sdurw_trajectory.CubicSplineInterpolatorQPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

__init__(*args)

Overload 1:

Default constructor yielding a NULL-pointer.


Overload 2:

Do not take ownership of ptr.

ptr can be null.

The constructor is implicit on purpose.

cptr()
ddx(t)

Notes: The second derivative is a 1-degree polynomial: \(\bf{df}(t)= 2\cdot \bf{c} + 6\cdot \bf{d}\cdot t\)

deref()

The pointer stored in the object.

duration()
dx(t)

Notes: The derivative is a 2-degree polynomial: \(\bf{df}(t)= \bf{b} + 2\cdot \bf{c}\cdot t + 3\cdot \bf{d}\cdot t^2\)

getDeref()

Member access operator.

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

property thisown

The membership flag

x(t)

Notes: The cubic polynomial is given by a 3-degree polynomial: \(\bf{f}(t)= \bf{a} + \bf{b}\cdot t + \bf{c}\cdot t^2 \bf{d}\cdot t^3\)

sdurw_trajectory.sdurw_trajectory.CubicSplineInterpolatorR1

alias of CubicSplineInterpolator_d

sdurw_trajectory.sdurw_trajectory.CubicSplineInterpolatorR2

alias of CubicSplineInterpolatorVector2D

sdurw_trajectory.sdurw_trajectory.CubicSplineInterpolatorR3

alias of CubicSplineInterpolatorVector3D

class sdurw_trajectory.sdurw_trajectory.CubicSplineInterpolatorRotation3D(a, b, c, d, duration)

Bases: InterpolatorRotation3D

This class represents a 3-degree polynomial function, used in Cubic Splines hence the name CubicSegment.

\(\bf{f}(t)= \bf{a} + \bf{b}\cdot t + \bf{c}\cdot t^2 \bf{d}\cdot t^3\)

__init__(a, b, c, d, duration)
ddx(t)

Notes: The second derivative is a 1-degree polynomial: \(\bf{df}(t)= 2\cdot \bf{c} + 6\cdot \bf{d}\cdot t\)

duration()

Returns the duration of the interpolator

The duration is defined as the time it takes to move from one end of the interpolator to the other. :rtype: float :return: duration

dx(t)

Notes: The derivative is a 2-degree polynomial: \(\bf{df}(t)= \bf{b} + 2\cdot \bf{c}\cdot t + 3\cdot \bf{d}\cdot t^2\)

property thisown

The membership flag

x(t)

Notes: The cubic polynomial is given by a 3-degree polynomial: \(\bf{f}(t)= \bf{a} + \bf{b}\cdot t + \bf{c}\cdot t^2 \bf{d}\cdot t^3\)

class sdurw_trajectory.sdurw_trajectory.CubicSplineInterpolatorRotation3DCPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

__init__(*args)

Overload 1:

Default constructor yielding a NULL-pointer.


Overload 2:

Do not take ownership of ptr.

ptr can be null.

The constructor is implicit on purpose.

ddx(t)

Notes: The second derivative is a 1-degree polynomial: \(\bf{df}(t)= 2\cdot \bf{c} + 6\cdot \bf{d}\cdot t\)

deref()

The pointer stored in the object.

duration()
dx(t)

Notes: The derivative is a 2-degree polynomial: \(\bf{df}(t)= \bf{b} + 2\cdot \bf{c}\cdot t + 3\cdot \bf{d}\cdot t^2\)

getDeref()

Member access operator.

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

property thisown

The membership flag

x(t)

Notes: The cubic polynomial is given by a 3-degree polynomial: \(\bf{f}(t)= \bf{a} + \bf{b}\cdot t + \bf{c}\cdot t^2 \bf{d}\cdot t^3\)

class sdurw_trajectory.sdurw_trajectory.CubicSplineInterpolatorRotation3DPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

__init__(*args)

Overload 1:

Default constructor yielding a NULL-pointer.


Overload 2:

Do not take ownership of ptr.

ptr can be null.

The constructor is implicit on purpose.

cptr()
ddx(t)

Notes: The second derivative is a 1-degree polynomial: \(\bf{df}(t)= 2\cdot \bf{c} + 6\cdot \bf{d}\cdot t\)

deref()

The pointer stored in the object.

duration()
dx(t)

Notes: The derivative is a 2-degree polynomial: \(\bf{df}(t)= \bf{b} + 2\cdot \bf{c}\cdot t + 3\cdot \bf{d}\cdot t^2\)

getDeref()

Member access operator.

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

property thisown

The membership flag

x(t)

Notes: The cubic polynomial is given by a 3-degree polynomial: \(\bf{f}(t)= \bf{a} + \bf{b}\cdot t + \bf{c}\cdot t^2 \bf{d}\cdot t^3\)

class sdurw_trajectory.sdurw_trajectory.CubicSplineInterpolatorRotation3D_f(a, b, c, d, duration)

Bases: InterpolatorRotation3D_f

This class represents a 3-degree polynomial function, used in Cubic Splines hence the name CubicSegment.

\(\bf{f}(t)= \bf{a} + \bf{b}\cdot t + \bf{c}\cdot t^2 \bf{d}\cdot t^3\)

__init__(a, b, c, d, duration)
ddx(t)

Notes: The second derivative is a 1-degree polynomial: \(\bf{df}(t)= 2\cdot \bf{c} + 6\cdot \bf{d}\cdot t\)

duration()

Returns the duration of the interpolator

The duration is defined as the time it takes to move from one end of the interpolator to the other. :rtype: float :return: duration

dx(t)

Notes: The derivative is a 2-degree polynomial: \(\bf{df}(t)= \bf{b} + 2\cdot \bf{c}\cdot t + 3\cdot \bf{d}\cdot t^2\)

property thisown

The membership flag

x(t)

Notes: The cubic polynomial is given by a 3-degree polynomial: \(\bf{f}(t)= \bf{a} + \bf{b}\cdot t + \bf{c}\cdot t^2 \bf{d}\cdot t^3\)

class sdurw_trajectory.sdurw_trajectory.CubicSplineInterpolatorRotation3D_fCPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

__init__(*args)

Overload 1:

Default constructor yielding a NULL-pointer.


Overload 2:

Do not take ownership of ptr.

ptr can be null.

The constructor is implicit on purpose.

ddx(t)

Notes: The second derivative is a 1-degree polynomial: \(\bf{df}(t)= 2\cdot \bf{c} + 6\cdot \bf{d}\cdot t\)

deref()

The pointer stored in the object.

duration()
dx(t)

Notes: The derivative is a 2-degree polynomial: \(\bf{df}(t)= \bf{b} + 2\cdot \bf{c}\cdot t + 3\cdot \bf{d}\cdot t^2\)

getDeref()

Member access operator.

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

property thisown

The membership flag

x(t)

Notes: The cubic polynomial is given by a 3-degree polynomial: \(\bf{f}(t)= \bf{a} + \bf{b}\cdot t + \bf{c}\cdot t^2 \bf{d}\cdot t^3\)

class sdurw_trajectory.sdurw_trajectory.CubicSplineInterpolatorRotation3D_fPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

__init__(*args)

Overload 1:

Default constructor yielding a NULL-pointer.


Overload 2:

Do not take ownership of ptr.

ptr can be null.

The constructor is implicit on purpose.

cptr()
ddx(t)

Notes: The second derivative is a 1-degree polynomial: \(\bf{df}(t)= 2\cdot \bf{c} + 6\cdot \bf{d}\cdot t\)

deref()

The pointer stored in the object.

duration()
dx(t)

Notes: The derivative is a 2-degree polynomial: \(\bf{df}(t)= \bf{b} + 2\cdot \bf{c}\cdot t + 3\cdot \bf{d}\cdot t^2\)

getDeref()

Member access operator.

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

property thisown

The membership flag

x(t)

Notes: The cubic polynomial is given by a 3-degree polynomial: \(\bf{f}(t)= \bf{a} + \bf{b}\cdot t + \bf{c}\cdot t^2 \bf{d}\cdot t^3\)

sdurw_trajectory.sdurw_trajectory.CubicSplineInterpolatorSE3

alias of CubicSplineInterpolatorTransform3D

sdurw_trajectory.sdurw_trajectory.CubicSplineInterpolatorSO3

alias of CubicSplineInterpolatorRotation3D

class sdurw_trajectory.sdurw_trajectory.CubicSplineInterpolatorTransform3D(a, b, c, d, duration)

Bases: InterpolatorTransform3D

This class represents a 3-degree polynomial function, used in Cubic Splines hence the name CubicSegment.

\(\bf{f}(t)= \bf{a} + \bf{b}\cdot t + \bf{c}\cdot t^2 \bf{d}\cdot t^3\)

__init__(a, b, c, d, duration)
ddx(t)

Notes: The second derivative is a 1-degree polynomial: \(\bf{df}(t)= 2\cdot \bf{c} + 6\cdot \bf{d}\cdot t\)

duration()

Returns the duration of the interpolator

The duration is defined as the time it takes to move from one end of the interpolator to the other. :rtype: float :return: duration

dx(t)

Notes: The derivative is a 2-degree polynomial: \(\bf{df}(t)= \bf{b} + 2\cdot \bf{c}\cdot t + 3\cdot \bf{d}\cdot t^2\)

property thisown

The membership flag

x(t)

Notes: The cubic polynomial is given by a 3-degree polynomial: \(\bf{f}(t)= \bf{a} + \bf{b}\cdot t + \bf{c}\cdot t^2 \bf{d}\cdot t^3\)

class sdurw_trajectory.sdurw_trajectory.CubicSplineInterpolatorTransform3DCPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

__init__(*args)

Overload 1:

Default constructor yielding a NULL-pointer.


Overload 2:

Do not take ownership of ptr.

ptr can be null.

The constructor is implicit on purpose.

ddx(t)

Notes: The second derivative is a 1-degree polynomial: \(\bf{df}(t)= 2\cdot \bf{c} + 6\cdot \bf{d}\cdot t\)

deref()

The pointer stored in the object.

duration()
dx(t)

Notes: The derivative is a 2-degree polynomial: \(\bf{df}(t)= \bf{b} + 2\cdot \bf{c}\cdot t + 3\cdot \bf{d}\cdot t^2\)

getDeref()

Member access operator.

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

property thisown

The membership flag

x(t)

Notes: The cubic polynomial is given by a 3-degree polynomial: \(\bf{f}(t)= \bf{a} + \bf{b}\cdot t + \bf{c}\cdot t^2 \bf{d}\cdot t^3\)

class sdurw_trajectory.sdurw_trajectory.CubicSplineInterpolatorTransform3DPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

__init__(*args)

Overload 1:

Default constructor yielding a NULL-pointer.


Overload 2:

Do not take ownership of ptr.

ptr can be null.

The constructor is implicit on purpose.

cptr()
ddx(t)

Notes: The second derivative is a 1-degree polynomial: \(\bf{df}(t)= 2\cdot \bf{c} + 6\cdot \bf{d}\cdot t\)

deref()

The pointer stored in the object.

duration()
dx(t)

Notes: The derivative is a 2-degree polynomial: \(\bf{df}(t)= \bf{b} + 2\cdot \bf{c}\cdot t + 3\cdot \bf{d}\cdot t^2\)

getDeref()

Member access operator.

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

property thisown

The membership flag

x(t)

Notes: The cubic polynomial is given by a 3-degree polynomial: \(\bf{f}(t)= \bf{a} + \bf{b}\cdot t + \bf{c}\cdot t^2 \bf{d}\cdot t^3\)

class sdurw_trajectory.sdurw_trajectory.CubicSplineInterpolatorTransform3DVector(a, b, c, d, duration)

Bases: InterpolatorTransform3DVector

This class represents a 3-degree polynomial function, used in Cubic Splines hence the name CubicSegment.

\(\bf{f}(t)= \bf{a} + \bf{b}\cdot t + \bf{c}\cdot t^2 \bf{d}\cdot t^3\)

__init__(a, b, c, d, duration)
ddx(t)

Notes: The second derivative is a 1-degree polynomial: \(\bf{df}(t)= 2\cdot \bf{c} + 6\cdot \bf{d}\cdot t\)

duration()

Returns the duration of the interpolator

The duration is defined as the time it takes to move from one end of the interpolator to the other. :rtype: float :return: duration

dx(t)

Notes: The derivative is a 2-degree polynomial: \(\bf{df}(t)= \bf{b} + 2\cdot \bf{c}\cdot t + 3\cdot \bf{d}\cdot t^2\)

property thisown

The membership flag

x(t)

Notes: The cubic polynomial is given by a 3-degree polynomial: \(\bf{f}(t)= \bf{a} + \bf{b}\cdot t + \bf{c}\cdot t^2 \bf{d}\cdot t^3\)

class sdurw_trajectory.sdurw_trajectory.CubicSplineInterpolatorTransform3D_f(a, b, c, d, duration)

Bases: InterpolatorTransform3D_f

This class represents a 3-degree polynomial function, used in Cubic Splines hence the name CubicSegment.

\(\bf{f}(t)= \bf{a} + \bf{b}\cdot t + \bf{c}\cdot t^2 \bf{d}\cdot t^3\)

__init__(a, b, c, d, duration)
ddx(t)

Notes: The second derivative is a 1-degree polynomial: \(\bf{df}(t)= 2\cdot \bf{c} + 6\cdot \bf{d}\cdot t\)

duration()

Returns the duration of the interpolator

The duration is defined as the time it takes to move from one end of the interpolator to the other. :rtype: float :return: duration

dx(t)

Notes: The derivative is a 2-degree polynomial: \(\bf{df}(t)= \bf{b} + 2\cdot \bf{c}\cdot t + 3\cdot \bf{d}\cdot t^2\)

property thisown

The membership flag

x(t)

Notes: The cubic polynomial is given by a 3-degree polynomial: \(\bf{f}(t)= \bf{a} + \bf{b}\cdot t + \bf{c}\cdot t^2 \bf{d}\cdot t^3\)

class sdurw_trajectory.sdurw_trajectory.CubicSplineInterpolatorTransform3D_fCPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

__init__(*args)

Overload 1:

Default constructor yielding a NULL-pointer.


Overload 2:

Do not take ownership of ptr.

ptr can be null.

The constructor is implicit on purpose.

ddx(t)

Notes: The second derivative is a 1-degree polynomial: \(\bf{df}(t)= 2\cdot \bf{c} + 6\cdot \bf{d}\cdot t\)

deref()

The pointer stored in the object.

duration()
dx(t)

Notes: The derivative is a 2-degree polynomial: \(\bf{df}(t)= \bf{b} + 2\cdot \bf{c}\cdot t + 3\cdot \bf{d}\cdot t^2\)

getDeref()

Member access operator.

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

property thisown

The membership flag

x(t)

Notes: The cubic polynomial is given by a 3-degree polynomial: \(\bf{f}(t)= \bf{a} + \bf{b}\cdot t + \bf{c}\cdot t^2 \bf{d}\cdot t^3\)

class sdurw_trajectory.sdurw_trajectory.CubicSplineInterpolatorTransform3D_fPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

__init__(*args)

Overload 1:

Default constructor yielding a NULL-pointer.


Overload 2:

Do not take ownership of ptr.

ptr can be null.

The constructor is implicit on purpose.

cptr()
ddx(t)

Notes: The second derivative is a 1-degree polynomial: \(\bf{df}(t)= 2\cdot \bf{c} + 6\cdot \bf{d}\cdot t\)

deref()

The pointer stored in the object.

duration()
dx(t)

Notes: The derivative is a 2-degree polynomial: \(\bf{df}(t)= \bf{b} + 2\cdot \bf{c}\cdot t + 3\cdot \bf{d}\cdot t^2\)

getDeref()

Member access operator.

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

property thisown

The membership flag

x(t)

Notes: The cubic polynomial is given by a 3-degree polynomial: \(\bf{f}(t)= \bf{a} + \bf{b}\cdot t + \bf{c}\cdot t^2 \bf{d}\cdot t^3\)

class sdurw_trajectory.sdurw_trajectory.CubicSplineInterpolatorVector2D(a, b, c, d, duration)

Bases: InterpolatorVector2D

This class represents a 3-degree polynomial function, used in Cubic Splines hence the name CubicSegment.

\(\bf{f}(t)= \bf{a} + \bf{b}\cdot t + \bf{c}\cdot t^2 \bf{d}\cdot t^3\)

__init__(a, b, c, d, duration)
ddx(t)

Notes: The second derivative is a 1-degree polynomial: \(\bf{df}(t)= 2\cdot \bf{c} + 6\cdot \bf{d}\cdot t\)

duration()

Returns the duration of the interpolator

The duration is defined as the time it takes to move from one end of the interpolator to the other. :rtype: float :return: duration

dx(t)

Notes: The derivative is a 2-degree polynomial: \(\bf{df}(t)= \bf{b} + 2\cdot \bf{c}\cdot t + 3\cdot \bf{d}\cdot t^2\)

property thisown

The membership flag

x(t)

Notes: The cubic polynomial is given by a 3-degree polynomial: \(\bf{f}(t)= \bf{a} + \bf{b}\cdot t + \bf{c}\cdot t^2 \bf{d}\cdot t^3\)

class sdurw_trajectory.sdurw_trajectory.CubicSplineInterpolatorVector2DCPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

__init__(*args)

Overload 1:

Default constructor yielding a NULL-pointer.


Overload 2:

Do not take ownership of ptr.

ptr can be null.

The constructor is implicit on purpose.

ddx(t)

Notes: The second derivative is a 1-degree polynomial: \(\bf{df}(t)= 2\cdot \bf{c} + 6\cdot \bf{d}\cdot t\)

deref()

The pointer stored in the object.

duration()
dx(t)

Notes: The derivative is a 2-degree polynomial: \(\bf{df}(t)= \bf{b} + 2\cdot \bf{c}\cdot t + 3\cdot \bf{d}\cdot t^2\)

getDeref()

Member access operator.

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

property thisown

The membership flag

x(t)

Notes: The cubic polynomial is given by a 3-degree polynomial: \(\bf{f}(t)= \bf{a} + \bf{b}\cdot t + \bf{c}\cdot t^2 \bf{d}\cdot t^3\)

class sdurw_trajectory.sdurw_trajectory.CubicSplineInterpolatorVector2DPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

__init__(*args)

Overload 1:

Default constructor yielding a NULL-pointer.


Overload 2:

Do not take ownership of ptr.

ptr can be null.

The constructor is implicit on purpose.

cptr()
ddx(t)

Notes: The second derivative is a 1-degree polynomial: \(\bf{df}(t)= 2\cdot \bf{c} + 6\cdot \bf{d}\cdot t\)

deref()

The pointer stored in the object.

duration()
dx(t)

Notes: The derivative is a 2-degree polynomial: \(\bf{df}(t)= \bf{b} + 2\cdot \bf{c}\cdot t + 3\cdot \bf{d}\cdot t^2\)

getDeref()

Member access operator.

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

property thisown

The membership flag

x(t)

Notes: The cubic polynomial is given by a 3-degree polynomial: \(\bf{f}(t)= \bf{a} + \bf{b}\cdot t + \bf{c}\cdot t^2 \bf{d}\cdot t^3\)

class sdurw_trajectory.sdurw_trajectory.CubicSplineInterpolatorVector2D_f(a, b, c, d, duration)

Bases: InterpolatorVector2D_f

This class represents a 3-degree polynomial function, used in Cubic Splines hence the name CubicSegment.

\(\bf{f}(t)= \bf{a} + \bf{b}\cdot t + \bf{c}\cdot t^2 \bf{d}\cdot t^3\)

__init__(a, b, c, d, duration)
ddx(t)

Notes: The second derivative is a 1-degree polynomial: \(\bf{df}(t)= 2\cdot \bf{c} + 6\cdot \bf{d}\cdot t\)

duration()

Returns the duration of the interpolator

The duration is defined as the time it takes to move from one end of the interpolator to the other. :rtype: float :return: duration

dx(t)

Notes: The derivative is a 2-degree polynomial: \(\bf{df}(t)= \bf{b} + 2\cdot \bf{c}\cdot t + 3\cdot \bf{d}\cdot t^2\)

property thisown

The membership flag

x(t)

Notes: The cubic polynomial is given by a 3-degree polynomial: \(\bf{f}(t)= \bf{a} + \bf{b}\cdot t + \bf{c}\cdot t^2 \bf{d}\cdot t^3\)

class sdurw_trajectory.sdurw_trajectory.CubicSplineInterpolatorVector2D_fCPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

__init__(*args)

Overload 1:

Default constructor yielding a NULL-pointer.


Overload 2:

Do not take ownership of ptr.

ptr can be null.

The constructor is implicit on purpose.

ddx(t)

Notes: The second derivative is a 1-degree polynomial: \(\bf{df}(t)= 2\cdot \bf{c} + 6\cdot \bf{d}\cdot t\)

deref()

The pointer stored in the object.

duration()
dx(t)

Notes: The derivative is a 2-degree polynomial: \(\bf{df}(t)= \bf{b} + 2\cdot \bf{c}\cdot t + 3\cdot \bf{d}\cdot t^2\)

getDeref()

Member access operator.

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

property thisown

The membership flag

x(t)

Notes: The cubic polynomial is given by a 3-degree polynomial: \(\bf{f}(t)= \bf{a} + \bf{b}\cdot t + \bf{c}\cdot t^2 \bf{d}\cdot t^3\)

class sdurw_trajectory.sdurw_trajectory.CubicSplineInterpolatorVector2D_fPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

__init__(*args)

Overload 1:

Default constructor yielding a NULL-pointer.


Overload 2:

Do not take ownership of ptr.

ptr can be null.

The constructor is implicit on purpose.

cptr()
ddx(t)

Notes: The second derivative is a 1-degree polynomial: \(\bf{df}(t)= 2\cdot \bf{c} + 6\cdot \bf{d}\cdot t\)

deref()

The pointer stored in the object.

duration()
dx(t)

Notes: The derivative is a 2-degree polynomial: \(\bf{df}(t)= \bf{b} + 2\cdot \bf{c}\cdot t + 3\cdot \bf{d}\cdot t^2\)

getDeref()

Member access operator.

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

property thisown

The membership flag

x(t)

Notes: The cubic polynomial is given by a 3-degree polynomial: \(\bf{f}(t)= \bf{a} + \bf{b}\cdot t + \bf{c}\cdot t^2 \bf{d}\cdot t^3\)

class sdurw_trajectory.sdurw_trajectory.CubicSplineInterpolatorVector3D(a, b, c, d, duration)

Bases: InterpolatorVector3D

This class represents a 3-degree polynomial function, used in Cubic Splines hence the name CubicSegment.

\(\bf{f}(t)= \bf{a} + \bf{b}\cdot t + \bf{c}\cdot t^2 \bf{d}\cdot t^3\)

__init__(a, b, c, d, duration)
ddx(t)

Notes: The second derivative is a 1-degree polynomial: \(\bf{df}(t)= 2\cdot \bf{c} + 6\cdot \bf{d}\cdot t\)

duration()

Returns the duration of the interpolator

The duration is defined as the time it takes to move from one end of the interpolator to the other. :rtype: float :return: duration

dx(t)

Notes: The derivative is a 2-degree polynomial: \(\bf{df}(t)= \bf{b} + 2\cdot \bf{c}\cdot t + 3\cdot \bf{d}\cdot t^2\)

property thisown

The membership flag

x(t)

Notes: The cubic polynomial is given by a 3-degree polynomial: \(\bf{f}(t)= \bf{a} + \bf{b}\cdot t + \bf{c}\cdot t^2 \bf{d}\cdot t^3\)

class sdurw_trajectory.sdurw_trajectory.CubicSplineInterpolatorVector3DCPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

__init__(*args)

Overload 1:

Default constructor yielding a NULL-pointer.


Overload 2:

Do not take ownership of ptr.

ptr can be null.

The constructor is implicit on purpose.

ddx(t)

Notes: The second derivative is a 1-degree polynomial: \(\bf{df}(t)= 2\cdot \bf{c} + 6\cdot \bf{d}\cdot t\)

deref()

The pointer stored in the object.

duration()
dx(t)

Notes: The derivative is a 2-degree polynomial: \(\bf{df}(t)= \bf{b} + 2\cdot \bf{c}\cdot t + 3\cdot \bf{d}\cdot t^2\)

getDeref()

Member access operator.

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

property thisown

The membership flag

x(t)

Notes: The cubic polynomial is given by a 3-degree polynomial: \(\bf{f}(t)= \bf{a} + \bf{b}\cdot t + \bf{c}\cdot t^2 \bf{d}\cdot t^3\)

class sdurw_trajectory.sdurw_trajectory.CubicSplineInterpolatorVector3DPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

__init__(*args)

Overload 1:

Default constructor yielding a NULL-pointer.


Overload 2:

Do not take ownership of ptr.

ptr can be null.

The constructor is implicit on purpose.

cptr()
ddx(t)

Notes: The second derivative is a 1-degree polynomial: \(\bf{df}(t)= 2\cdot \bf{c} + 6\cdot \bf{d}\cdot t\)

deref()

The pointer stored in the object.

duration()
dx(t)

Notes: The derivative is a 2-degree polynomial: \(\bf{df}(t)= \bf{b} + 2\cdot \bf{c}\cdot t + 3\cdot \bf{d}\cdot t^2\)

getDeref()

Member access operator.

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

property thisown

The membership flag

x(t)

Notes: The cubic polynomial is given by a 3-degree polynomial: \(\bf{f}(t)= \bf{a} + \bf{b}\cdot t + \bf{c}\cdot t^2 \bf{d}\cdot t^3\)

class sdurw_trajectory.sdurw_trajectory.CubicSplineInterpolatorVector3D_f(a, b, c, d, duration)

Bases: InterpolatorVector3D_f

This class represents a 3-degree polynomial function, used in Cubic Splines hence the name CubicSegment.

\(\bf{f}(t)= \bf{a} + \bf{b}\cdot t + \bf{c}\cdot t^2 \bf{d}\cdot t^3\)

__init__(a, b, c, d, duration)
ddx(t)

Notes: The second derivative is a 1-degree polynomial: \(\bf{df}(t)= 2\cdot \bf{c} + 6\cdot \bf{d}\cdot t\)

duration()

Returns the duration of the interpolator

The duration is defined as the time it takes to move from one end of the interpolator to the other. :rtype: float :return: duration

dx(t)

Notes: The derivative is a 2-degree polynomial: \(\bf{df}(t)= \bf{b} + 2\cdot \bf{c}\cdot t + 3\cdot \bf{d}\cdot t^2\)

property thisown

The membership flag

x(t)

Notes: The cubic polynomial is given by a 3-degree polynomial: \(\bf{f}(t)= \bf{a} + \bf{b}\cdot t + \bf{c}\cdot t^2 \bf{d}\cdot t^3\)

class sdurw_trajectory.sdurw_trajectory.CubicSplineInterpolatorVector3D_fCPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

__init__(*args)

Overload 1:

Default constructor yielding a NULL-pointer.


Overload 2:

Do not take ownership of ptr.

ptr can be null.

The constructor is implicit on purpose.

ddx(t)

Notes: The second derivative is a 1-degree polynomial: \(\bf{df}(t)= 2\cdot \bf{c} + 6\cdot \bf{d}\cdot t\)

deref()

The pointer stored in the object.

duration()
dx(t)

Notes: The derivative is a 2-degree polynomial: \(\bf{df}(t)= \bf{b} + 2\cdot \bf{c}\cdot t + 3\cdot \bf{d}\cdot t^2\)

getDeref()

Member access operator.

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

property thisown

The membership flag

x(t)

Notes: The cubic polynomial is given by a 3-degree polynomial: \(\bf{f}(t)= \bf{a} + \bf{b}\cdot t + \bf{c}\cdot t^2 \bf{d}\cdot t^3\)

class sdurw_trajectory.sdurw_trajectory.CubicSplineInterpolatorVector3D_fPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

__init__(*args)

Overload 1:

Default constructor yielding a NULL-pointer.


Overload 2:

Do not take ownership of ptr.

ptr can be null.

The constructor is implicit on purpose.

cptr()
ddx(t)

Notes: The second derivative is a 1-degree polynomial: \(\bf{df}(t)= 2\cdot \bf{c} + 6\cdot \bf{d}\cdot t\)

deref()

The pointer stored in the object.

duration()
dx(t)

Notes: The derivative is a 2-degree polynomial: \(\bf{df}(t)= \bf{b} + 2\cdot \bf{c}\cdot t + 3\cdot \bf{d}\cdot t^2\)

getDeref()

Member access operator.

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

property thisown

The membership flag

x(t)

Notes: The cubic polynomial is given by a 3-degree polynomial: \(\bf{f}(t)= \bf{a} + \bf{b}\cdot t + \bf{c}\cdot t^2 \bf{d}\cdot t^3\)

class sdurw_trajectory.sdurw_trajectory.CubicSplineInterpolator_d(a, b, c, d, duration)

Bases: Interpolator_d

This class represents a 3-degree polynomial function, used in Cubic Splines hence the name CubicSegment.

\(\bf{f}(t)= \bf{a} + \bf{b}\cdot t + \bf{c}\cdot t^2 \bf{d}\cdot t^3\)

__init__(a, b, c, d, duration)
ddx(t)

Notes: The second derivative is a 1-degree polynomial: \(\bf{df}(t)= 2\cdot \bf{c} + 6\cdot \bf{d}\cdot t\)

duration()

Returns the duration of the interpolator

The duration is defined as the time it takes to move from one end of the interpolator to the other. :rtype: float :return: duration

dx(t)

Notes: The derivative is a 2-degree polynomial: \(\bf{df}(t)= \bf{b} + 2\cdot \bf{c}\cdot t + 3\cdot \bf{d}\cdot t^2\)

property thisown

The membership flag

x(t)

Notes: The cubic polynomial is given by a 3-degree polynomial: \(\bf{f}(t)= \bf{a} + \bf{b}\cdot t + \bf{c}\cdot t^2 \bf{d}\cdot t^3\)

class sdurw_trajectory.sdurw_trajectory.CubicSplineInterpolator_dCPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

__init__(*args)

Overload 1:

Default constructor yielding a NULL-pointer.


Overload 2:

Do not take ownership of ptr.

ptr can be null.

The constructor is implicit on purpose.

ddx(t)

Notes: The second derivative is a 1-degree polynomial: \(\bf{df}(t)= 2\cdot \bf{c} + 6\cdot \bf{d}\cdot t\)

deref()

The pointer stored in the object.

duration()
dx(t)

Notes: The derivative is a 2-degree polynomial: \(\bf{df}(t)= \bf{b} + 2\cdot \bf{c}\cdot t + 3\cdot \bf{d}\cdot t^2\)

getDeref()

Member access operator.

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

property thisown

The membership flag

x(t)

Notes: The cubic polynomial is given by a 3-degree polynomial: \(\bf{f}(t)= \bf{a} + \bf{b}\cdot t + \bf{c}\cdot t^2 \bf{d}\cdot t^3\)

class sdurw_trajectory.sdurw_trajectory.CubicSplineInterpolator_dPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

__init__(*args)

Overload 1:

Default constructor yielding a NULL-pointer.


Overload 2:

Do not take ownership of ptr.

ptr can be null.

The constructor is implicit on purpose.

cptr()
ddx(t)

Notes: The second derivative is a 1-degree polynomial: \(\bf{df}(t)= 2\cdot \bf{c} + 6\cdot \bf{d}\cdot t\)

deref()

The pointer stored in the object.

duration()
dx(t)

Notes: The derivative is a 2-degree polynomial: \(\bf{df}(t)= \bf{b} + 2\cdot \bf{c}\cdot t + 3\cdot \bf{d}\cdot t^2\)

getDeref()

Member access operator.

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

property thisown

The membership flag

x(t)

Notes: The cubic polynomial is given by a 3-degree polynomial: \(\bf{f}(t)= \bf{a} + \bf{b}\cdot t + \bf{c}\cdot t^2 \bf{d}\cdot t^3\)

class sdurw_trajectory.sdurw_trajectory.CubicSplineInterpolator_d_f(a, b, c, d, duration)

Bases: Interpolator_d_f

This class represents a 3-degree polynomial function, used in Cubic Splines hence the name CubicSegment.

\(\bf{f}(t)= \bf{a} + \bf{b}\cdot t + \bf{c}\cdot t^2 \bf{d}\cdot t^3\)

__init__(a, b, c, d, duration)
ddx(t)

Notes: The second derivative is a 1-degree polynomial: \(\bf{df}(t)= 2\cdot \bf{c} + 6\cdot \bf{d}\cdot t\)

duration()

Returns the duration of the interpolator

The duration is defined as the time it takes to move from one end of the interpolator to the other. :rtype: float :return: duration

dx(t)

Notes: The derivative is a 2-degree polynomial: \(\bf{df}(t)= \bf{b} + 2\cdot \bf{c}\cdot t + 3\cdot \bf{d}\cdot t^2\)

property thisown

The membership flag

x(t)

Notes: The cubic polynomial is given by a 3-degree polynomial: \(\bf{f}(t)= \bf{a} + \bf{b}\cdot t + \bf{c}\cdot t^2 \bf{d}\cdot t^3\)

class sdurw_trajectory.sdurw_trajectory.CubicSplineInterpolator_d_fCPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

__init__(*args)

Overload 1:

Default constructor yielding a NULL-pointer.


Overload 2:

Do not take ownership of ptr.

ptr can be null.

The constructor is implicit on purpose.

ddx(t)

Notes: The second derivative is a 1-degree polynomial: \(\bf{df}(t)= 2\cdot \bf{c} + 6\cdot \bf{d}\cdot t\)

deref()

The pointer stored in the object.

duration()
dx(t)

Notes: The derivative is a 2-degree polynomial: \(\bf{df}(t)= \bf{b} + 2\cdot \bf{c}\cdot t + 3\cdot \bf{d}\cdot t^2\)

getDeref()

Member access operator.

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

property thisown

The membership flag

x(t)

Notes: The cubic polynomial is given by a 3-degree polynomial: \(\bf{f}(t)= \bf{a} + \bf{b}\cdot t + \bf{c}\cdot t^2 \bf{d}\cdot t^3\)

class sdurw_trajectory.sdurw_trajectory.CubicSplineInterpolator_d_fPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

__init__(*args)

Overload 1:

Default constructor yielding a NULL-pointer.


Overload 2:

Do not take ownership of ptr.

ptr can be null.

The constructor is implicit on purpose.

cptr()
ddx(t)

Notes: The second derivative is a 1-degree polynomial: \(\bf{df}(t)= 2\cdot \bf{c} + 6\cdot \bf{d}\cdot t\)

deref()

The pointer stored in the object.

duration()
dx(t)

Notes: The derivative is a 2-degree polynomial: \(\bf{df}(t)= \bf{b} + 2\cdot \bf{c}\cdot t + 3\cdot \bf{d}\cdot t^2\)

getDeref()

Member access operator.

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

property thisown

The membership flag

x(t)

Notes: The cubic polynomial is given by a 3-degree polynomial: \(\bf{f}(t)= \bf{a} + \bf{b}\cdot t + \bf{c}\cdot t^2 \bf{d}\cdot t^3\)

class sdurw_trajectory.sdurw_trajectory.InterpolatorQ(*args, **kwargs)

Bases: object

Interface for interpolators

See the specific implementations for more details

__init__(*args, **kwargs)
ddx(t)

Acceleration at time t :type t: float :param t: [in] time between 0 and length :rtype: Q :return: Acceleration

duration()

Returns the duration of the interpolator

The duration is defined as the time it takes to move from one end of the interpolator to the other. :rtype: float :return: duration

dx(t)

Velocity at time t :type t: float :param t: [in] time between 0 and length :rtype: Q :return: Velocity

property thisown

The membership flag

x(t)

Position at time t :type t: float :param t: [in] time between 0 and length :rtype: Q :return: Position

class sdurw_trajectory.sdurw_trajectory.InterpolatorQCPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

__init__(*args)

Overload 1:

Default constructor yielding a NULL-pointer.


Overload 2:

Do not take ownership of ptr.

ptr can be null.

The constructor is implicit on purpose.

ddx(t)

Acceleration at time t :type t: float :param t: [in] time between 0 and length :rtype: Q :return: Acceleration

deref()

The pointer stored in the object.

duration()

Returns the duration of the interpolator

The duration is defined as the time it takes to move from one end of the interpolator to the other. :rtype: float :return: duration

dx(t)

Velocity at time t :type t: float :param t: [in] time between 0 and length :rtype: Q :return: Velocity

getDeref()

Member access operator.

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

property thisown

The membership flag

x(t)

Position at time t :type t: float :param t: [in] time between 0 and length :rtype: Q :return: Position

class sdurw_trajectory.sdurw_trajectory.InterpolatorQPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

__init__(*args)

Overload 1:

Default constructor yielding a NULL-pointer.


Overload 2:

Do not take ownership of ptr.

ptr can be null.

The constructor is implicit on purpose.

cptr()
ddx(t)

Acceleration at time t :type t: float :param t: [in] time between 0 and length :rtype: Q :return: Acceleration

deref()

The pointer stored in the object.

duration()

Returns the duration of the interpolator

The duration is defined as the time it takes to move from one end of the interpolator to the other. :rtype: float :return: duration

dx(t)

Velocity at time t :type t: float :param t: [in] time between 0 and length :rtype: Q :return: Velocity

getDeref()

Member access operator.

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

property thisown

The membership flag

x(t)

Position at time t :type t: float :param t: [in] time between 0 and length :rtype: Q :return: Position

sdurw_trajectory.sdurw_trajectory.InterpolatorR1

alias of Interpolator_d

sdurw_trajectory.sdurw_trajectory.InterpolatorR2

alias of InterpolatorVector2D

sdurw_trajectory.sdurw_trajectory.InterpolatorR3

alias of InterpolatorVector3D

class sdurw_trajectory.sdurw_trajectory.InterpolatorRotation3D(*args, **kwargs)

Bases: object

Interface for interpolators

See the specific implementations for more details

__init__(*args, **kwargs)
ddx(t)

Acceleration at time t :type t: float :param t: [in] time between 0 and length :rtype: rw::math::Rotation3D< double > :return: Acceleration

duration()

Returns the duration of the interpolator

The duration is defined as the time it takes to move from one end of the interpolator to the other. :rtype: float :return: duration

dx(t)

Velocity at time t :type t: float :param t: [in] time between 0 and length :rtype: rw::math::Rotation3D< double > :return: Velocity

property thisown

The membership flag

x(t)

Position at time t :type t: float :param t: [in] time between 0 and length :rtype: rw::math::Rotation3D< double > :return: Position

class sdurw_trajectory.sdurw_trajectory.InterpolatorRotation3DCPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

__init__(*args)

Overload 1:

Default constructor yielding a NULL-pointer.


Overload 2:

Do not take ownership of ptr.

ptr can be null.

The constructor is implicit on purpose.

ddx(t)

Acceleration at time t :type t: float :param t: [in] time between 0 and length :rtype: rw::math::Rotation3D< double > :return: Acceleration

deref()

The pointer stored in the object.

duration()

Returns the duration of the interpolator

The duration is defined as the time it takes to move from one end of the interpolator to the other. :rtype: float :return: duration

dx(t)

Velocity at time t :type t: float :param t: [in] time between 0 and length :rtype: rw::math::Rotation3D< double > :return: Velocity

getDeref()

Member access operator.

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

property thisown

The membership flag

x(t)

Position at time t :type t: float :param t: [in] time between 0 and length :rtype: rw::math::Rotation3D< double > :return: Position

class sdurw_trajectory.sdurw_trajectory.InterpolatorRotation3DPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

__init__(*args)

Overload 1:

Default constructor yielding a NULL-pointer.


Overload 2:

Do not take ownership of ptr.

ptr can be null.

The constructor is implicit on purpose.

cptr()
ddx(t)

Acceleration at time t :type t: float :param t: [in] time between 0 and length :rtype: rw::math::Rotation3D< double > :return: Acceleration

deref()

The pointer stored in the object.

duration()

Returns the duration of the interpolator

The duration is defined as the time it takes to move from one end of the interpolator to the other. :rtype: float :return: duration

dx(t)

Velocity at time t :type t: float :param t: [in] time between 0 and length :rtype: rw::math::Rotation3D< double > :return: Velocity

getDeref()

Member access operator.

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

property thisown

The membership flag

x(t)

Position at time t :type t: float :param t: [in] time between 0 and length :rtype: rw::math::Rotation3D< double > :return: Position

class sdurw_trajectory.sdurw_trajectory.InterpolatorRotation3D_f(*args, **kwargs)

Bases: object

Interface for interpolators

See the specific implementations for more details

__init__(*args, **kwargs)
ddx(t)

Acceleration at time t :type t: float :param t: [in] time between 0 and length :rtype: rw::math::Rotation3D< float > :return: Acceleration

duration()

Returns the duration of the interpolator

The duration is defined as the time it takes to move from one end of the interpolator to the other. :rtype: float :return: duration

dx(t)

Velocity at time t :type t: float :param t: [in] time between 0 and length :rtype: rw::math::Rotation3D< float > :return: Velocity

property thisown

The membership flag

x(t)

Position at time t :type t: float :param t: [in] time between 0 and length :rtype: rw::math::Rotation3D< float > :return: Position

class sdurw_trajectory.sdurw_trajectory.InterpolatorRotation3D_fCPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

__init__(*args)

Overload 1:

Default constructor yielding a NULL-pointer.


Overload 2:

Do not take ownership of ptr.

ptr can be null.

The constructor is implicit on purpose.

ddx(t)

Acceleration at time t :type t: float :param t: [in] time between 0 and length :rtype: rw::math::Rotation3D< float > :return: Acceleration

deref()

The pointer stored in the object.

duration()

Returns the duration of the interpolator

The duration is defined as the time it takes to move from one end of the interpolator to the other. :rtype: float :return: duration

dx(t)

Velocity at time t :type t: float :param t: [in] time between 0 and length :rtype: rw::math::Rotation3D< float > :return: Velocity

getDeref()

Member access operator.

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

property thisown

The membership flag

x(t)

Position at time t :type t: float :param t: [in] time between 0 and length :rtype: rw::math::Rotation3D< float > :return: Position

class sdurw_trajectory.sdurw_trajectory.InterpolatorRotation3D_fPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

__init__(*args)

Overload 1:

Default constructor yielding a NULL-pointer.


Overload 2:

Do not take ownership of ptr.

ptr can be null.

The constructor is implicit on purpose.

cptr()
ddx(t)

Acceleration at time t :type t: float :param t: [in] time between 0 and length :rtype: rw::math::Rotation3D< float > :return: Acceleration

deref()

The pointer stored in the object.

duration()

Returns the duration of the interpolator

The duration is defined as the time it takes to move from one end of the interpolator to the other. :rtype: float :return: duration

dx(t)

Velocity at time t :type t: float :param t: [in] time between 0 and length :rtype: rw::math::Rotation3D< float > :return: Velocity

getDeref()

Member access operator.

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

property thisown

The membership flag

x(t)

Position at time t :type t: float :param t: [in] time between 0 and length :rtype: rw::math::Rotation3D< float > :return: Position

sdurw_trajectory.sdurw_trajectory.InterpolatorSE3

alias of InterpolatorTransform3D

sdurw_trajectory.sdurw_trajectory.InterpolatorSO3

alias of InterpolatorRotation3D

class sdurw_trajectory.sdurw_trajectory.InterpolatorTrajectoryQ(startTime=0)

Bases: TrajectoryQ

Sequence of interpolators and blends giving a trajectory

A trajectory is defined as a sequence of interpolators and blends. Multiple interpolators can follow each other, whereas a Blend must be preceded and followed by interpolators.

The length of a Trajectory is defined as the time it takes to go from start to finish.

When performing random queries the trajectory needs to do a binary search through all interpolators and blend, giving the random access an O(lg n) complexity.

For accessing multiple consecutive values use TrajectoryInterpolator.

Example of usage:

Transform3D<> T1(Vector3D<>(0,0,0), EAA<>(0,0,0));
Transform3D<> T2(Vector3D<>(1,1,0), EAA<>(1,1,0));
Transform3D<> T3(Vector3D<>(2,0,0), EAA<>(2,2,0));

LinearInterpolator<Transform3D<> >::Ptr cartInt1 =
    ownedPtr(new LinearInterpolator<Transform3D<> >(T1, T2, 1));
LinearInterpolator<Transform3D<> >::Ptr cartInt2 =
    ownedPtr(new LinearInterpolator<Transform3D<> >(T2, T3, 1));
ParabolicBlend<Transform3D<> >::Ptr blend1 =
    ownedPtr(new ParabolicBlend<Transform3D<> >(cartInt1, cartInt2, 0.25));
InterpolatorTrajectory<Transform3D<> > trajectory;
trajectory.add(cartInt1);
trajectory.add(blend1, cartInt2);
std::ofstream out("test.dat");
for (double t = 0; t<=trajectory.duration(); t += dt) {
     Transform3D<> x = trajectory.x(t);
     out<<t<<" "<<x.P()(0)<<" "<<x.P()(1)<<" "<<x.P()(2)<<std::endl;
}
out.close();
__init__(startTime=0)

Construct an empty trajectory

add(*args)

Overload 1:

Adds an interpolator to the end of the trajectory.

When adding the interpolator the Trajectory takes ownership.

Parameters

interpolator (rw::core::Ptr< rw::trajectory::Interpolator< rw::math::Q > >) – [in] The interpolator to add


Overload 2:

Adds a blend and an interpolator to the trajectory.

The Blend added is used to blend between what was previously the last Interpolator of the trajectory onto interpolator, which become the new last interpolator of the trajectory. :type blend: rw::core::Ptr< rw::trajectory::Blend< rw::math::Q > > :param blend: [in] the blend to add :type interpolator: rw::core::Ptr< rw::trajectory::Interpolator< rw::math::Q > > :param interpolator: [in] the interpolator to add


Overload 3:

Append trajectory to the end

When adding a Trajectory all interpolators and blends of trajectory is added in sequence.

Ownership of the interpolator and blends are shared using std::shared_ptr

Parameters

trajectory (rw::trajectory::InterpolatorTrajectory< rw::math::Q >) – [in] Trajectory to append

ddx(t)

Acceleration of trajectory at time t

Returns the acceleration of the trajectory at time t \(\in[startTime(),endTime()]\).

Parameters

t (float) – [in] time between startTime() and endTime()

Return type

Q

Returns

Acceleration

duration()

Total duration of the trajectory.

The duration of the Trajectory corresponds to the time it takes to

run through it.

If the trajectory is empty, then -1 is returned.

dx(t)

Velocity of trajectory at time t

Returns the velocity of the trajectory at time t \(\in[startTime(), endTime()]\).

Parameters

t (float) – [in] time between startTime() and endTime()

Return type

Q

Returns

Velocity

getIterator(dt=1)

Returns a bi-directional interator for running through the trajectory.

For some trajectory types it may be significantly more efficient to run through using an iterator, rather than using random access.

Parameters

dt (float, optional) – [in] The default time step used when using the ++ or – operators in the iterator

Pointer to the iterator. The pointer has ownership.

getSegment(index)
getSegmentsCount()

Returns the number of segments

A segment contains a description interpolator and the blend used to blend from the previous interpolator

startTime()

Returns the startTime of the trajectory

Return type

float

Returns

Start time

property thisown

The membership flag

x(t)

Position of trajectory at time t

Returns the position of the trajectory at time t \(\in[startTime(), endTime()]\).

Parameters

t (float) – [in] time between startTime() and endTime()

Return type

Q

Returns

Position

class sdurw_trajectory.sdurw_trajectory.InterpolatorTrajectoryQCPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

__init__(*args)

Overload 1:

Default constructor yielding a NULL-pointer.


Overload 2:

Do not take ownership of ptr.

ptr can be null.

The constructor is implicit on purpose.

ddx(t)
deref()

The pointer stored in the object.

duration()
dx(t)
endTime()

Returns the endTime of the trajectory.

The end time equals startTime() + duration().

Return type

float

Returns

The end time

getDeref()

Member access operator.

getIterator(dt=1)
getSegment(index)
getSegmentsCount()

Returns the number of segments

A segment contains a description interpolator and the blend used to blend from the previous interpolator

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

startTime()
property thisown

The membership flag

x(t)
class sdurw_trajectory.sdurw_trajectory.InterpolatorTrajectoryQPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

__init__(*args)

Overload 1:

Default constructor yielding a NULL-pointer.


Overload 2:

Do not take ownership of ptr.

ptr can be null.

The constructor is implicit on purpose.

add(*args)

Overload 1:

Adds an interpolator to the end of the trajectory.

When adding the interpolator the Trajectory takes ownership.

Parameters

interpolator (rw::core::Ptr< rw::trajectory::Interpolator< rw::math::Q > >) – [in] The interpolator to add


Overload 2:

Adds a blend and an interpolator to the trajectory.

The Blend added is used to blend between what was previously the last Interpolator of the trajectory onto interpolator, which become the new last interpolator of the trajectory. :type blend: rw::core::Ptr< rw::trajectory::Blend< rw::math::Q > > :param blend: [in] the blend to add :type interpolator: rw::core::Ptr< rw::trajectory::Interpolator< rw::math::Q > > :param interpolator: [in] the interpolator to add


Overload 3:

Append trajectory to the end

When adding a Trajectory all interpolators and blends of trajectory is added in sequence.

Ownership of the interpolator and blends are shared using std::shared_ptr

Parameters

trajectory (rw::trajectory::InterpolatorTrajectory< rw::math::Q >) – [in] Trajectory to append

cptr()
ddx(t)
deref()

The pointer stored in the object.

duration()
dx(t)
endTime()

Returns the endTime of the trajectory.

The end time equals startTime() + duration().

Return type

float

Returns

The end time

getDeref()

Member access operator.

getIterator(dt=1)
getPath(dt, uniform=True)

Constructs a discrete path based on the trajectory.

If uniform = true the path will be divided into the smallest number of uniform steps for which the time stepsize <= dt.

If uniform = false the path is divided into steps of duration dt, except the last interval which may be shorter to include the end point.

Parameters
  • dt (float) – [in] Step size

  • uniform (boolean, optional) – [in] Whether to sample the path uniformly

Return type

std::vector< rw::math::Q >

Returns

The discrete path.

getSegment(index)
getSegmentsCount()

Returns the number of segments

A segment contains a description interpolator and the blend used to blend from the previous interpolator

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

startTime()
property thisown

The membership flag

x(t)
class sdurw_trajectory.sdurw_trajectory.InterpolatorTrajectoryQuaternion(startTime=0)

Bases: TrajectoryQuaternion

Sequence of interpolators and blends giving a trajectory

A trajectory is defined as a sequence of interpolators and blends. Multiple interpolators can follow each other, whereas a Blend must be preceded and followed by interpolators.

The length of a Trajectory is defined as the time it takes to go from start to finish.

When performing random queries the trajectory needs to do a binary search through all interpolators and blend, giving the random access an O(lg n) complexity.

For accessing multiple consecutive values use TrajectoryInterpolator.

Example of usage:

Transform3D<> T1(Vector3D<>(0,0,0), EAA<>(0,0,0));
Transform3D<> T2(Vector3D<>(1,1,0), EAA<>(1,1,0));
Transform3D<> T3(Vector3D<>(2,0,0), EAA<>(2,2,0));

LinearInterpolator<Transform3D<> >::Ptr cartInt1 =
    ownedPtr(new LinearInterpolator<Transform3D<> >(T1, T2, 1));
LinearInterpolator<Transform3D<> >::Ptr cartInt2 =
    ownedPtr(new LinearInterpolator<Transform3D<> >(T2, T3, 1));
ParabolicBlend<Transform3D<> >::Ptr blend1 =
    ownedPtr(new ParabolicBlend<Transform3D<> >(cartInt1, cartInt2, 0.25));
InterpolatorTrajectory<Transform3D<> > trajectory;
trajectory.add(cartInt1);
trajectory.add(blend1, cartInt2);
std::ofstream out("test.dat");
for (double t = 0; t<=trajectory.duration(); t += dt) {
     Transform3D<> x = trajectory.x(t);
     out<<t<<" "<<x.P()(0)<<" "<<x.P()(1)<<" "<<x.P()(2)<<std::endl;
}
out.close();
__init__(startTime=0)

Construct an empty trajectory

add(*args)

Overload 1:

Adds an interpolator to the end of the trajectory.

When adding the interpolator the Trajectory takes ownership.

Parameters

interpolator (rw::core::Ptr< rw::trajectory::Interpolator< rw::math::Quaternion< double > > >) – [in] The interpolator to add


Overload 2:

Adds a blend and an interpolator to the trajectory.

The Blend added is used to blend between what was previously the last Interpolator of the trajectory onto interpolator, which become the new last interpolator of the trajectory. :type blend: rw::core::Ptr< rw::trajectory::Blend< rw::math::Quaternion< double > > > :param blend: [in] the blend to add :type interpolator: rw::core::Ptr< rw::trajectory::Interpolator< rw::math::Quaternion< double > > > :param interpolator: [in] the interpolator to add


Overload 3:

Append trajectory to the end

When adding a Trajectory all interpolators and blends of trajectory is added in sequence.

Ownership of the interpolator and blends are shared using std::shared_ptr

Parameters

trajectory (rw::trajectory::InterpolatorTrajectory< rw::math::Quaternion< double > >) – [in] Trajectory to append

ddx(t)

Acceleration of trajectory at time t

Returns the acceleration of the trajectory at time t \(\in[startTime(),endTime()]\).

Parameters

t (float) – [in] time between startTime() and endTime()

Return type

rw::math::Quaternion< double >

Returns

Acceleration

duration()

Total duration of the trajectory.

The duration of the Trajectory corresponds to the time it takes to

run through it.

If the trajectory is empty, then -1 is returned.

dx(t)

Velocity of trajectory at time t

Returns the velocity of the trajectory at time t \(\in[startTime(), endTime()]\).

Parameters

t (float) – [in] time between startTime() and endTime()

Return type

rw::math::Quaternion< double >

Returns

Velocity

getIterator(dt=1)

Returns a bi-directional interator for running through the trajectory.

For some trajectory types it may be significantly more efficient to run through using an iterator, rather than using random access.

Parameters

dt (float, optional) – [in] The default time step used when using the ++ or – operators in the iterator

Pointer to the iterator. The pointer has ownership.

getSegment(index)
getSegmentsCount()

Returns the number of segments

A segment contains a description interpolator and the blend used to blend from the previous interpolator

startTime()

Returns the startTime of the trajectory

Return type

float

Returns

Start time

property thisown

The membership flag

x(t)

Position of trajectory at time t

Returns the position of the trajectory at time t \(\in[startTime(), endTime()]\).

Parameters

t (float) – [in] time between startTime() and endTime()

Return type

rw::math::Quaternion< double >

Returns

Position

class sdurw_trajectory.sdurw_trajectory.InterpolatorTrajectoryQuaternionCPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

__init__(*args)

Overload 1:

Default constructor yielding a NULL-pointer.


Overload 2:

Do not take ownership of ptr.

ptr can be null.

The constructor is implicit on purpose.

ddx(t)
deref()

The pointer stored in the object.

duration()
dx(t)
endTime()

Returns the endTime of the trajectory.

The end time equals startTime() + duration().

Return type

float

Returns

The end time

getDeref()

Member access operator.

getIterator(dt=1)
getSegment(index)
getSegmentsCount()

Returns the number of segments

A segment contains a description interpolator and the blend used to blend from the previous interpolator

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

startTime()
property thisown

The membership flag

x(t)
class sdurw_trajectory.sdurw_trajectory.InterpolatorTrajectoryQuaternionPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

__init__(*args)

Overload 1:

Default constructor yielding a NULL-pointer.


Overload 2:

Do not take ownership of ptr.

ptr can be null.

The constructor is implicit on purpose.

add(*args)

Overload 1:

Adds an interpolator to the end of the trajectory.

When adding the interpolator the Trajectory takes ownership.

Parameters

interpolator (rw::core::Ptr< rw::trajectory::Interpolator< rw::math::Quaternion< double > > >) – [in] The interpolator to add


Overload 2:

Adds a blend and an interpolator to the trajectory.

The Blend added is used to blend between what was previously the last Interpolator of the trajectory onto interpolator, which become the new last interpolator of the trajectory. :type blend: rw::core::Ptr< rw::trajectory::Blend< rw::math::Quaternion< double > > > :param blend: [in] the blend to add :type interpolator: rw::core::Ptr< rw::trajectory::Interpolator< rw::math::Quaternion< double > > > :param interpolator: [in] the interpolator to add


Overload 3:

Append trajectory to the end

When adding a Trajectory all interpolators and blends of trajectory is added in sequence.

Ownership of the interpolator and blends are shared using std::shared_ptr

Parameters

trajectory (rw::trajectory::InterpolatorTrajectory< rw::math::Quaternion< double > >) – [in] Trajectory to append

cptr()
ddx(t)
deref()

The pointer stored in the object.

duration()
dx(t)
endTime()

Returns the endTime of the trajectory.

The end time equals startTime() + duration().

Return type

float

Returns

The end time

getDeref()

Member access operator.

getIterator(dt=1)
getPath(dt, uniform=True)

Constructs a discrete path based on the trajectory.

If uniform = true the path will be divided into the smallest number of uniform steps for which the time stepsize <= dt.

If uniform = false the path is divided into steps of duration dt, except the last interval which may be shorter to include the end point.

Parameters
  • dt (float) – [in] Step size

  • uniform (boolean, optional) – [in] Whether to sample the path uniformly

Return type

std::vector< rw::math::Quaternion< double > >

Returns

The discrete path.

getSegment(index)
getSegmentsCount()

Returns the number of segments

A segment contains a description interpolator and the blend used to blend from the previous interpolator

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

startTime()
property thisown

The membership flag

x(t)
class sdurw_trajectory.sdurw_trajectory.InterpolatorTrajectoryQuaternion_f(startTime=0)

Bases: TrajectoryQuaternion_f

Sequence of interpolators and blends giving a trajectory

A trajectory is defined as a sequence of interpolators and blends. Multiple interpolators can follow each other, whereas a Blend must be preceded and followed by interpolators.

The length of a Trajectory is defined as the time it takes to go from start to finish.

When performing random queries the trajectory needs to do a binary search through all interpolators and blend, giving the random access an O(lg n) complexity.

For accessing multiple consecutive values use TrajectoryInterpolator.

Example of usage:

Transform3D<> T1(Vector3D<>(0,0,0), EAA<>(0,0,0));
Transform3D<> T2(Vector3D<>(1,1,0), EAA<>(1,1,0));
Transform3D<> T3(Vector3D<>(2,0,0), EAA<>(2,2,0));

LinearInterpolator<Transform3D<> >::Ptr cartInt1 =
    ownedPtr(new LinearInterpolator<Transform3D<> >(T1, T2, 1));
LinearInterpolator<Transform3D<> >::Ptr cartInt2 =
    ownedPtr(new LinearInterpolator<Transform3D<> >(T2, T3, 1));
ParabolicBlend<Transform3D<> >::Ptr blend1 =
    ownedPtr(new ParabolicBlend<Transform3D<> >(cartInt1, cartInt2, 0.25));
InterpolatorTrajectory<Transform3D<> > trajectory;
trajectory.add(cartInt1);
trajectory.add(blend1, cartInt2);
std::ofstream out("test.dat");
for (double t = 0; t<=trajectory.duration(); t += dt) {
     Transform3D<> x = trajectory.x(t);
     out<<t<<" "<<x.P()(0)<<" "<<x.P()(1)<<" "<<x.P()(2)<<std::endl;
}
out.close();
__init__(startTime=0)

Construct an empty trajectory

add(*args)

Overload 1:

Adds an interpolator to the end of the trajectory.

When adding the interpolator the Trajectory takes ownership.

Parameters

interpolator (rw::core::Ptr< rw::trajectory::Interpolator< rw::math::Quaternion< float > > >) – [in] The interpolator to add


Overload 2:

Adds a blend and an interpolator to the trajectory.

The Blend added is used to blend between what was previously the last Interpolator of the trajectory onto interpolator, which become the new last interpolator of the trajectory. :type blend: rw::core::Ptr< rw::trajectory::Blend< rw::math::Quaternion< float > > > :param blend: [in] the blend to add :type interpolator: rw::core::Ptr< rw::trajectory::Interpolator< rw::math::Quaternion< float > > > :param interpolator: [in] the interpolator to add


Overload 3:

Append trajectory to the end

When adding a Trajectory all interpolators and blends of trajectory is added in sequence.

Ownership of the interpolator and blends are shared using std::shared_ptr

Parameters

trajectory (rw::trajectory::InterpolatorTrajectory< rw::math::Quaternion< float > >) – [in] Trajectory to append

ddx(t)

Acceleration of trajectory at time t

Returns the acceleration of the trajectory at time t \(\in[startTime(),endTime()]\).

Parameters

t (float) – [in] time between startTime() and endTime()

Return type

rw::math::Quaternion< float >

Returns

Acceleration

duration()

Total duration of the trajectory.

The duration of the Trajectory corresponds to the time it takes to

run through it.

If the trajectory is empty, then -1 is returned.

dx(t)

Velocity of trajectory at time t

Returns the velocity of the trajectory at time t \(\in[startTime(), endTime()]\).

Parameters

t (float) – [in] time between startTime() and endTime()

Return type

rw::math::Quaternion< float >

Returns

Velocity

getIterator(dt=1)

Returns a bi-directional interator for running through the trajectory.

For some trajectory types it may be significantly more efficient to run through using an iterator, rather than using random access.

Parameters

dt (float, optional) – [in] The default time step used when using the ++ or – operators in the iterator

Pointer to the iterator. The pointer has ownership.

getSegment(index)
getSegmentsCount()

Returns the number of segments

A segment contains a description interpolator and the blend used to blend from the previous interpolator

startTime()

Returns the startTime of the trajectory

Return type

float

Returns

Start time

property thisown

The membership flag

x(t)

Position of trajectory at time t

Returns the position of the trajectory at time t \(\in[startTime(), endTime()]\).

Parameters

t (float) – [in] time between startTime() and endTime()

Return type

rw::math::Quaternion< float >

Returns

Position

class sdurw_trajectory.sdurw_trajectory.InterpolatorTrajectoryQuaternion_fCPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

__init__(*args)

Overload 1:

Default constructor yielding a NULL-pointer.


Overload 2:

Do not take ownership of ptr.

ptr can be null.

The constructor is implicit on purpose.

ddx(t)
deref()

The pointer stored in the object.

duration()
dx(t)
endTime()

Returns the endTime of the trajectory.

The end time equals startTime() + duration().

Return type

float

Returns

The end time

getDeref()

Member access operator.

getIterator(dt=1)
getSegment(index)
getSegmentsCount()

Returns the number of segments

A segment contains a description interpolator and the blend used to blend from the previous interpolator

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

startTime()
property thisown

The membership flag

x(t)
class sdurw_trajectory.sdurw_trajectory.InterpolatorTrajectoryQuaternion_fPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

__init__(*args)

Overload 1:

Default constructor yielding a NULL-pointer.


Overload 2:

Do not take ownership of ptr.

ptr can be null.

The constructor is implicit on purpose.

add(*args)

Overload 1:

Adds an interpolator to the end of the trajectory.

When adding the interpolator the Trajectory takes ownership.

Parameters

interpolator (rw::core::Ptr< rw::trajectory::Interpolator< rw::math::Quaternion< float > > >) – [in] The interpolator to add


Overload 2:

Adds a blend and an interpolator to the trajectory.

The Blend added is used to blend between what was previously the last Interpolator of the trajectory onto interpolator, which become the new last interpolator of the trajectory. :type blend: rw::core::Ptr< rw::trajectory::Blend< rw::math::Quaternion< float > > > :param blend: [in] the blend to add :type interpolator: rw::core::Ptr< rw::trajectory::Interpolator< rw::math::Quaternion< float > > > :param interpolator: [in] the interpolator to add


Overload 3:

Append trajectory to the end

When adding a Trajectory all interpolators and blends of trajectory is added in sequence.

Ownership of the interpolator and blends are shared using std::shared_ptr

Parameters

trajectory (rw::trajectory::InterpolatorTrajectory< rw::math::Quaternion< float > >) – [in] Trajectory to append

cptr()
ddx(t)
deref()

The pointer stored in the object.

duration()
dx(t)
endTime()

Returns the endTime of the trajectory.

The end time equals startTime() + duration().

Return type

float

Returns

The end time

getDeref()

Member access operator.

getIterator(dt=1)
getPath(dt, uniform=True)

Constructs a discrete path based on the trajectory.

If uniform = true the path will be divided into the smallest number of uniform steps for which the time stepsize <= dt.

If uniform = false the path is divided into steps of duration dt, except the last interval which may be shorter to include the end point.

Parameters
  • dt (float) – [in] Step size

  • uniform (boolean, optional) – [in] Whether to sample the path uniformly

Return type

std::vector< rw::math::Quaternion< float > >

Returns

The discrete path.

getSegment(index)
getSegmentsCount()

Returns the number of segments

A segment contains a description interpolator and the blend used to blend from the previous interpolator

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

startTime()
property thisown

The membership flag

x(t)
sdurw_trajectory.sdurw_trajectory.InterpolatorTrajectoryR1

alias of InterpolatorTrajectory_d

sdurw_trajectory.sdurw_trajectory.InterpolatorTrajectoryR2

alias of InterpolatorTrajectoryVector2D

sdurw_trajectory.sdurw_trajectory.InterpolatorTrajectoryR3

alias of InterpolatorTrajectoryVector3D

class sdurw_trajectory.sdurw_trajectory.InterpolatorTrajectoryRotation3D(startTime=0)

Bases: TrajectoryRotation3D

Sequence of interpolators and blends giving a trajectory

A trajectory is defined as a sequence of interpolators and blends. Multiple interpolators can follow each other, whereas a Blend must be preceded and followed by interpolators.

The length of a Trajectory is defined as the time it takes to go from start to finish.

When performing random queries the trajectory needs to do a binary search through all interpolators and blend, giving the random access an O(lg n) complexity.

For accessing multiple consecutive values use TrajectoryInterpolator.

Example of usage:

Transform3D<> T1(Vector3D<>(0,0,0), EAA<>(0,0,0));
Transform3D<> T2(Vector3D<>(1,1,0), EAA<>(1,1,0));
Transform3D<> T3(Vector3D<>(2,0,0), EAA<>(2,2,0));

LinearInterpolator<Transform3D<> >::Ptr cartInt1 =
    ownedPtr(new LinearInterpolator<Transform3D<> >(T1, T2, 1));
LinearInterpolator<Transform3D<> >::Ptr cartInt2 =
    ownedPtr(new LinearInterpolator<Transform3D<> >(T2, T3, 1));
ParabolicBlend<Transform3D<> >::Ptr blend1 =
    ownedPtr(new ParabolicBlend<Transform3D<> >(cartInt1, cartInt2, 0.25));
InterpolatorTrajectory<Transform3D<> > trajectory;
trajectory.add(cartInt1);
trajectory.add(blend1, cartInt2);
std::ofstream out("test.dat");
for (double t = 0; t<=trajectory.duration(); t += dt) {
     Transform3D<> x = trajectory.x(t);
     out<<t<<" "<<x.P()(0)<<" "<<x.P()(1)<<" "<<x.P()(2)<<std::endl;
}
out.close();
__init__(startTime=0)

Construct an empty trajectory

add(*args)

Overload 1:

Adds an interpolator to the end of the trajectory.

When adding the interpolator the Trajectory takes ownership.

Parameters

interpolator (rw::core::Ptr< rw::trajectory::Interpolator< rw::math::Rotation3D< double > > >) – [in] The interpolator to add


Overload 2:

Adds a blend and an interpolator to the trajectory.

The Blend added is used to blend between what was previously the last Interpolator of the trajectory onto interpolator, which become the new last interpolator of the trajectory. :type blend: rw::core::Ptr< rw::trajectory::Blend< rw::math::Rotation3D< double > > > :param blend: [in] the blend to add :type interpolator: rw::core::Ptr< rw::trajectory::Interpolator< rw::math::Rotation3D< double > > > :param interpolator: [in] the interpolator to add


Overload 3:

Append trajectory to the end

When adding a Trajectory all interpolators and blends of trajectory is added in sequence.

Ownership of the interpolator and blends are shared using std::shared_ptr

Parameters

trajectory (rw::trajectory::InterpolatorTrajectory< rw::math::Rotation3D< double > >) – [in] Trajectory to append

ddx(t)

Acceleration of trajectory at time t

Returns the acceleration of the trajectory at time t \(\in[startTime(),endTime()]\).

Parameters

t (float) – [in] time between startTime() and endTime()

Return type

rw::math::Rotation3D< double >

Returns

Acceleration

duration()

Total duration of the trajectory.

The duration of the Trajectory corresponds to the time it takes to

run through it.

If the trajectory is empty, then -1 is returned.

dx(t)

Velocity of trajectory at time t

Returns the velocity of the trajectory at time t \(\in[startTime(), endTime()]\).

Parameters

t (float) – [in] time between startTime() and endTime()

Return type

rw::math::Rotation3D< double >

Returns

Velocity

getIterator(dt=1)

Returns a bi-directional interator for running through the trajectory.

For some trajectory types it may be significantly more efficient to run through using an iterator, rather than using random access.

Parameters

dt (float, optional) – [in] The default time step used when using the ++ or – operators in the iterator

Pointer to the iterator. The pointer has ownership.

getSegment(index)
getSegmentsCount()

Returns the number of segments

A segment contains a description interpolator and the blend used to blend from the previous interpolator

startTime()

Returns the startTime of the trajectory

Return type

float

Returns

Start time

property thisown

The membership flag

x(t)

Position of trajectory at time t

Returns the position of the trajectory at time t \(\in[startTime(), endTime()]\).

Parameters

t (float) – [in] time between startTime() and endTime()

Return type

rw::math::Rotation3D< double >

Returns

Position

class sdurw_trajectory.sdurw_trajectory.InterpolatorTrajectoryRotation3DCPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

__init__(*args)

Overload 1:

Default constructor yielding a NULL-pointer.


Overload 2:

Do not take ownership of ptr.

ptr can be null.

The constructor is implicit on purpose.

ddx(t)
deref()

The pointer stored in the object.

duration()
dx(t)
endTime()

Returns the endTime of the trajectory.

The end time equals startTime() + duration().

Return type

float

Returns

The end time

getDeref()

Member access operator.

getIterator(dt=1)
getSegment(index)
getSegmentsCount()

Returns the number of segments

A segment contains a description interpolator and the blend used to blend from the previous interpolator

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

startTime()
property thisown

The membership flag

x(t)
class sdurw_trajectory.sdurw_trajectory.InterpolatorTrajectoryRotation3DPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

__init__(*args)

Overload 1:

Default constructor yielding a NULL-pointer.


Overload 2:

Do not take ownership of ptr.

ptr can be null.

The constructor is implicit on purpose.

add(*args)

Overload 1:

Adds an interpolator to the end of the trajectory.

When adding the interpolator the Trajectory takes ownership.

Parameters

interpolator (rw::core::Ptr< rw::trajectory::Interpolator< rw::math::Rotation3D< double > > >) – [in] The interpolator to add


Overload 2:

Adds a blend and an interpolator to the trajectory.

The Blend added is used to blend between what was previously the last Interpolator of the trajectory onto interpolator, which become the new last interpolator of the trajectory. :type blend: rw::core::Ptr< rw::trajectory::Blend< rw::math::Rotation3D< double > > > :param blend: [in] the blend to add :type interpolator: rw::core::Ptr< rw::trajectory::Interpolator< rw::math::Rotation3D< double > > > :param interpolator: [in] the interpolator to add


Overload 3:

Append trajectory to the end

When adding a Trajectory all interpolators and blends of trajectory is added in sequence.

Ownership of the interpolator and blends are shared using std::shared_ptr

Parameters

trajectory (rw::trajectory::InterpolatorTrajectory< rw::math::Rotation3D< double > >) – [in] Trajectory to append

cptr()
ddx(t)
deref()

The pointer stored in the object.

duration()
dx(t)
endTime()

Returns the endTime of the trajectory.

The end time equals startTime() + duration().

Return type

float

Returns

The end time

getDeref()

Member access operator.

getIterator(dt=1)
getPath(dt, uniform=True)

Constructs a discrete path based on the trajectory.

If uniform = true the path will be divided into the smallest number of uniform steps for which the time stepsize <= dt.

If uniform = false the path is divided into steps of duration dt, except the last interval which may be shorter to include the end point.

Parameters
  • dt (float) – [in] Step size

  • uniform (boolean, optional) – [in] Whether to sample the path uniformly

Return type

std::vector< rw::math::Rotation3D< double > >

Returns

The discrete path.

getSegment(index)
getSegmentsCount()

Returns the number of segments

A segment contains a description interpolator and the blend used to blend from the previous interpolator

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

startTime()
property thisown

The membership flag

x(t)
class sdurw_trajectory.sdurw_trajectory.InterpolatorTrajectoryRotation3D_f(startTime=0)

Bases: TrajectoryRotation3D_f

Sequence of interpolators and blends giving a trajectory

A trajectory is defined as a sequence of interpolators and blends. Multiple interpolators can follow each other, whereas a Blend must be preceded and followed by interpolators.

The length of a Trajectory is defined as the time it takes to go from start to finish.

When performing random queries the trajectory needs to do a binary search through all interpolators and blend, giving the random access an O(lg n) complexity.

For accessing multiple consecutive values use TrajectoryInterpolator.

Example of usage:

Transform3D<> T1(Vector3D<>(0,0,0), EAA<>(0,0,0));
Transform3D<> T2(Vector3D<>(1,1,0), EAA<>(1,1,0));
Transform3D<> T3(Vector3D<>(2,0,0), EAA<>(2,2,0));

LinearInterpolator<Transform3D<> >::Ptr cartInt1 =
    ownedPtr(new LinearInterpolator<Transform3D<> >(T1, T2, 1));
LinearInterpolator<Transform3D<> >::Ptr cartInt2 =
    ownedPtr(new LinearInterpolator<Transform3D<> >(T2, T3, 1));
ParabolicBlend<Transform3D<> >::Ptr blend1 =
    ownedPtr(new ParabolicBlend<Transform3D<> >(cartInt1, cartInt2, 0.25));
InterpolatorTrajectory<Transform3D<> > trajectory;
trajectory.add(cartInt1);
trajectory.add(blend1, cartInt2);
std::ofstream out("test.dat");
for (double t = 0; t<=trajectory.duration(); t += dt) {
     Transform3D<> x = trajectory.x(t);
     out<<t<<" "<<x.P()(0)<<" "<<x.P()(1)<<" "<<x.P()(2)<<std::endl;
}
out.close();
__init__(startTime=0)

Construct an empty trajectory

add(*args)

Overload 1:

Adds an interpolator to the end of the trajectory.

When adding the interpolator the Trajectory takes ownership.

Parameters

interpolator (rw::core::Ptr< rw::trajectory::Interpolator< rw::math::Rotation3D< float > > >) – [in] The interpolator to add


Overload 2:

Adds a blend and an interpolator to the trajectory.

The Blend added is used to blend between what was previously the last Interpolator of the trajectory onto interpolator, which become the new last interpolator of the trajectory. :type blend: rw::core::Ptr< rw::trajectory::Blend< rw::math::Rotation3D< float > > > :param blend: [in] the blend to add :type interpolator: rw::core::Ptr< rw::trajectory::Interpolator< rw::math::Rotation3D< float > > > :param interpolator: [in] the interpolator to add


Overload 3:

Append trajectory to the end

When adding a Trajectory all interpolators and blends of trajectory is added in sequence.

Ownership of the interpolator and blends are shared using std::shared_ptr

Parameters

trajectory (rw::trajectory::InterpolatorTrajectory< rw::math::Rotation3D< float > >) – [in] Trajectory to append

ddx(t)

Acceleration of trajectory at time t

Returns the acceleration of the trajectory at time t \(\in[startTime(),endTime()]\).

Parameters

t (float) – [in] time between startTime() and endTime()

Return type

rw::math::Rotation3D< float >

Returns

Acceleration

duration()

Total duration of the trajectory.

The duration of the Trajectory corresponds to the time it takes to

run through it.

If the trajectory is empty, then -1 is returned.

dx(t)

Velocity of trajectory at time t

Returns the velocity of the trajectory at time t \(\in[startTime(), endTime()]\).

Parameters

t (float) – [in] time between startTime() and endTime()

Return type

rw::math::Rotation3D< float >

Returns

Velocity

getIterator(dt=1)

Returns a bi-directional interator for running through the trajectory.

For some trajectory types it may be significantly more efficient to run through using an iterator, rather than using random access.

Parameters

dt (float, optional) – [in] The default time step used when using the ++ or – operators in the iterator

Pointer to the iterator. The pointer has ownership.

getSegment(index)
getSegmentsCount()

Returns the number of segments

A segment contains a description interpolator and the blend used to blend from the previous interpolator

startTime()

Returns the startTime of the trajectory

Return type

float

Returns

Start time

property thisown

The membership flag

x(t)

Position of trajectory at time t

Returns the position of the trajectory at time t \(\in[startTime(), endTime()]\).

Parameters

t (float) – [in] time between startTime() and endTime()

Return type

rw::math::Rotation3D< float >

Returns

Position

class sdurw_trajectory.sdurw_trajectory.InterpolatorTrajectoryRotation3D_fCPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

__init__(*args)

Overload 1:

Default constructor yielding a NULL-pointer.


Overload 2:

Do not take ownership of ptr.

ptr can be null.

The constructor is implicit on purpose.

ddx(t)
deref()

The pointer stored in the object.

duration()
dx(t)
endTime()

Returns the endTime of the trajectory.

The end time equals startTime() + duration().

Return type

float

Returns

The end time

getDeref()

Member access operator.

getIterator(dt=1)
getSegment(index)
getSegmentsCount()

Returns the number of segments

A segment contains a description interpolator and the blend used to blend from the previous interpolator

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

startTime()
property thisown

The membership flag

x(t)
class sdurw_trajectory.sdurw_trajectory.InterpolatorTrajectoryRotation3D_fPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

__init__(*args)

Overload 1:

Default constructor yielding a NULL-pointer.


Overload 2:

Do not take ownership of ptr.

ptr can be null.

The constructor is implicit on purpose.

add(*args)

Overload 1:

Adds an interpolator to the end of the trajectory.

When adding the interpolator the Trajectory takes ownership.

Parameters

interpolator (rw::core::Ptr< rw::trajectory::Interpolator< rw::math::Rotation3D< float > > >) – [in] The interpolator to add


Overload 2:

Adds a blend and an interpolator to the trajectory.

The Blend added is used to blend between what was previously the last Interpolator of the trajectory onto interpolator, which become the new last interpolator of the trajectory. :type blend: rw::core::Ptr< rw::trajectory::Blend< rw::math::Rotation3D< float > > > :param blend: [in] the blend to add :type interpolator: rw::core::Ptr< rw::trajectory::Interpolator< rw::math::Rotation3D< float > > > :param interpolator: [in] the interpolator to add


Overload 3:

Append trajectory to the end

When adding a Trajectory all interpolators and blends of trajectory is added in sequence.

Ownership of the interpolator and blends are shared using std::shared_ptr

Parameters

trajectory (rw::trajectory::InterpolatorTrajectory< rw::math::Rotation3D< float > >) – [in] Trajectory to append

cptr()
ddx(t)
deref()

The pointer stored in the object.

duration()
dx(t)
endTime()

Returns the endTime of the trajectory.

The end time equals startTime() + duration().

Return type

float

Returns

The end time

getDeref()

Member access operator.

getIterator(dt=1)
getPath(dt, uniform=True)

Constructs a discrete path based on the trajectory.

If uniform = true the path will be divided into the smallest number of uniform steps for which the time stepsize <= dt.

If uniform = false the path is divided into steps of duration dt, except the last interval which may be shorter to include the end point.

Parameters
  • dt (float) – [in] Step size

  • uniform (boolean, optional) – [in] Whether to sample the path uniformly

Return type

std::vector< rw::math::Rotation3D< float > >

Returns

The discrete path.

getSegment(index)
getSegmentsCount()

Returns the number of segments

A segment contains a description interpolator and the blend used to blend from the previous interpolator

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

startTime()
property thisown

The membership flag

x(t)
sdurw_trajectory.sdurw_trajectory.InterpolatorTrajectorySE3

alias of InterpolatorTrajectoryTransform3D

sdurw_trajectory.sdurw_trajectory.InterpolatorTrajectorySO3

alias of InterpolatorTrajectoryRotation3D

class sdurw_trajectory.sdurw_trajectory.InterpolatorTrajectoryTransform3D(startTime=0)

Bases: TrajectoryTransform3D

Sequence of interpolators and blends giving a trajectory

A trajectory is defined as a sequence of interpolators and blends. Multiple interpolators can follow each other, whereas a Blend must be preceded and followed by interpolators.

The length of a Trajectory is defined as the time it takes to go from start to finish.

When performing random queries the trajectory needs to do a binary search through all interpolators and blend, giving the random access an O(lg n) complexity.

For accessing multiple consecutive values use TrajectoryInterpolator.

Example of usage:

Transform3D<> T1(Vector3D<>(0,0,0), EAA<>(0,0,0));
Transform3D<> T2(Vector3D<>(1,1,0), EAA<>(1,1,0));
Transform3D<> T3(Vector3D<>(2,0,0), EAA<>(2,2,0));

LinearInterpolator<Transform3D<> >::Ptr cartInt1 =
    ownedPtr(new LinearInterpolator<Transform3D<> >(T1, T2, 1));
LinearInterpolator<Transform3D<> >::Ptr cartInt2 =
    ownedPtr(new LinearInterpolator<Transform3D<> >(T2, T3, 1));
ParabolicBlend<Transform3D<> >::Ptr blend1 =
    ownedPtr(new ParabolicBlend<Transform3D<> >(cartInt1, cartInt2, 0.25));
InterpolatorTrajectory<Transform3D<> > trajectory;
trajectory.add(cartInt1);
trajectory.add(blend1, cartInt2);
std::ofstream out("test.dat");
for (double t = 0; t<=trajectory.duration(); t += dt) {
     Transform3D<> x = trajectory.x(t);
     out<<t<<" "<<x.P()(0)<<" "<<x.P()(1)<<" "<<x.P()(2)<<std::endl;
}
out.close();
__init__(startTime=0)

Construct an empty trajectory

add(*args)

Overload 1:

Adds an interpolator to the end of the trajectory.

When adding the interpolator the Trajectory takes ownership.

Parameters

interpolator (rw::core::Ptr< rw::trajectory::Interpolator< rw::math::Transform3D< double > > >) – [in] The interpolator to add


Overload 2:

Adds a blend and an interpolator to the trajectory.

The Blend added is used to blend between what was previously the last Interpolator of the trajectory onto interpolator, which become the new last interpolator of the trajectory. :type blend: rw::core::Ptr< rw::trajectory::Blend< rw::math::Transform3D< double > > > :param blend: [in] the blend to add :type interpolator: rw::core::Ptr< rw::trajectory::Interpolator< rw::math::Transform3D< double > > > :param interpolator: [in] the interpolator to add


Overload 3:

Append trajectory to the end

When adding a Trajectory all interpolators and blends of trajectory is added in sequence.

Ownership of the interpolator and blends are shared using std::shared_ptr

Parameters

trajectory (rw::trajectory::InterpolatorTrajectory< rw::math::Transform3D< double > >) – [in] Trajectory to append

ddx(t)

Acceleration of trajectory at time t

Returns the acceleration of the trajectory at time t \(\in[startTime(),endTime()]\).

Parameters

t (float) – [in] time between startTime() and endTime()

Return type

rw::math::Transform3D< double >

Returns

Acceleration

duration()

Total duration of the trajectory.

The duration of the Trajectory corresponds to the time it takes to

run through it.

If the trajectory is empty, then -1 is returned.

dx(t)

Velocity of trajectory at time t

Returns the velocity of the trajectory at time t \(\in[startTime(), endTime()]\).

Parameters

t (float) – [in] time between startTime() and endTime()

Return type

rw::math::Transform3D< double >

Returns

Velocity

getIterator(dt=1)

Returns a bi-directional interator for running through the trajectory.

For some trajectory types it may be significantly more efficient to run through using an iterator, rather than using random access.

Parameters

dt (float, optional) – [in] The default time step used when using the ++ or – operators in the iterator

Pointer to the iterator. The pointer has ownership.

getSegment(index)
getSegmentsCount()

Returns the number of segments

A segment contains a description interpolator and the blend used to blend from the previous interpolator

startTime()

Returns the startTime of the trajectory

Return type

float

Returns

Start time

property thisown

The membership flag

x(t)

Position of trajectory at time t

Returns the position of the trajectory at time t \(\in[startTime(), endTime()]\).

Parameters

t (float) – [in] time between startTime() and endTime()

Return type

rw::math::Transform3D< double >

Returns

Position

class sdurw_trajectory.sdurw_trajectory.InterpolatorTrajectoryTransform3DCPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

__init__(*args)

Overload 1:

Default constructor yielding a NULL-pointer.


Overload 2:

Do not take ownership of ptr.

ptr can be null.

The constructor is implicit on purpose.

ddx(t)
deref()

The pointer stored in the object.

duration()
dx(t)
endTime()

Returns the endTime of the trajectory.

The end time equals startTime() + duration().

Return type

float

Returns

The end time

getDeref()

Member access operator.

getIterator(dt=1)
getSegment(index)
getSegmentsCount()

Returns the number of segments

A segment contains a description interpolator and the blend used to blend from the previous interpolator

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

startTime()
property thisown

The membership flag

x(t)
class sdurw_trajectory.sdurw_trajectory.InterpolatorTrajectoryTransform3DPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

__init__(*args)

Overload 1:

Default constructor yielding a NULL-pointer.


Overload 2:

Do not take ownership of ptr.

ptr can be null.

The constructor is implicit on purpose.

add(*args)

Overload 1:

Adds an interpolator to the end of the trajectory.

When adding the interpolator the Trajectory takes ownership.

Parameters

interpolator (rw::core::Ptr< rw::trajectory::Interpolator< rw::math::Transform3D< double > > >) – [in] The interpolator to add


Overload 2:

Adds a blend and an interpolator to the trajectory.

The Blend added is used to blend between what was previously the last Interpolator of the trajectory onto interpolator, which become the new last interpolator of the trajectory. :type blend: rw::core::Ptr< rw::trajectory::Blend< rw::math::Transform3D< double > > > :param blend: [in] the blend to add :type interpolator: rw::core::Ptr< rw::trajectory::Interpolator< rw::math::Transform3D< double > > > :param interpolator: [in] the interpolator to add


Overload 3:

Append trajectory to the end

When adding a Trajectory all interpolators and blends of trajectory is added in sequence.

Ownership of the interpolator and blends are shared using std::shared_ptr

Parameters

trajectory (rw::trajectory::InterpolatorTrajectory< rw::math::Transform3D< double > >) – [in] Trajectory to append

cptr()
ddx(t)
deref()

The pointer stored in the object.

duration()
dx(t)
endTime()

Returns the endTime of the trajectory.

The end time equals startTime() + duration().

Return type

float

Returns

The end time

getDeref()

Member access operator.

getIterator(dt=1)
getPath(dt, uniform=True)

Constructs a discrete path based on the trajectory.

If uniform = true the path will be divided into the smallest number of uniform steps for which the time stepsize <= dt.

If uniform = false the path is divided into steps of duration dt, except the last interval which may be shorter to include the end point.

Parameters
  • dt (float) – [in] Step size

  • uniform (boolean, optional) – [in] Whether to sample the path uniformly

Return type

std::vector< rw::math::Transform3D< double > >

Returns

The discrete path.

getSegment(index)
getSegmentsCount()

Returns the number of segments

A segment contains a description interpolator and the blend used to blend from the previous interpolator

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

startTime()
property thisown

The membership flag

x(t)
class sdurw_trajectory.sdurw_trajectory.InterpolatorTrajectoryTransform3DVector(startTime=0)

Bases: TrajectoryTransform3DVector

Sequence of interpolators and blends giving a trajectory

A trajectory is defined as a sequence of interpolators and blends. Multiple interpolators can follow each other, whereas a Blend must be preceded and followed by interpolators.

The length of a Trajectory is defined as the time it takes to go from start to finish.

When performing random queries the trajectory needs to do a binary search through all interpolators and blend, giving the random access an O(lg n) complexity.

For accessing multiple consecutive values use TrajectoryInterpolator.

Example of usage:

Transform3D<> T1(Vector3D<>(0,0,0), EAA<>(0,0,0));
Transform3D<> T2(Vector3D<>(1,1,0), EAA<>(1,1,0));
Transform3D<> T3(Vector3D<>(2,0,0), EAA<>(2,2,0));

LinearInterpolator<Transform3D<> >::Ptr cartInt1 =
    ownedPtr(new LinearInterpolator<Transform3D<> >(T1, T2, 1));
LinearInterpolator<Transform3D<> >::Ptr cartInt2 =
    ownedPtr(new LinearInterpolator<Transform3D<> >(T2, T3, 1));
ParabolicBlend<Transform3D<> >::Ptr blend1 =
    ownedPtr(new ParabolicBlend<Transform3D<> >(cartInt1, cartInt2, 0.25));
InterpolatorTrajectory<Transform3D<> > trajectory;
trajectory.add(cartInt1);
trajectory.add(blend1, cartInt2);
std::ofstream out("test.dat");
for (double t = 0; t<=trajectory.duration(); t += dt) {
     Transform3D<> x = trajectory.x(t);
     out<<t<<" "<<x.P()(0)<<" "<<x.P()(1)<<" "<<x.P()(2)<<std::endl;
}
out.close();
__init__(startTime=0)

Construct an empty trajectory

add(*args)

Overload 1:

Adds an interpolator to the end of the trajectory.

When adding the interpolator the Trajectory takes ownership.

Parameters

interpolator (rw::core::Ptr< rw::trajectory::Interpolator< rw::math::Transform3DVector< double > > >) – [in] The interpolator to add


Overload 2:

Adds a blend and an interpolator to the trajectory.

The Blend added is used to blend between what was previously the last Interpolator of the trajectory onto interpolator, which become the new last interpolator of the trajectory. :type blend: rw::core::Ptr< rw::trajectory::Blend< rw::math::Transform3DVector< double > > > :param blend: [in] the blend to add :type interpolator: rw::core::Ptr< rw::trajectory::Interpolator< rw::math::Transform3DVector< double > > > :param interpolator: [in] the interpolator to add


Overload 3:

Append trajectory to the end

When adding a Trajectory all interpolators and blends of trajectory is added in sequence.

Ownership of the interpolator and blends are shared using std::shared_ptr

Parameters

trajectory (rw::trajectory::InterpolatorTrajectory< rw::math::Transform3DVector< double > >) – [in] Trajectory to append

ddx(t)

Acceleration of trajectory at time t

Returns the acceleration of the trajectory at time t \(\in[startTime(),endTime()]\).

Parameters

t (float) – [in] time between startTime() and endTime()

Return type

rw::math::Transform3DVector< double >

Returns

Acceleration

duration()

Total duration of the trajectory.

The duration of the Trajectory corresponds to the time it takes to

run through it.

If the trajectory is empty, then -1 is returned.

dx(t)

Velocity of trajectory at time t

Returns the velocity of the trajectory at time t \(\in[startTime(), endTime()]\).

Parameters

t (float) – [in] time between startTime() and endTime()

Return type

rw::math::Transform3DVector< double >

Returns

Velocity

getIterator(dt=1)

Returns a bi-directional interator for running through the trajectory.

For some trajectory types it may be significantly more efficient to run through using an iterator, rather than using random access.

Parameters

dt (float, optional) – [in] The default time step used when using the ++ or – operators in the iterator

Pointer to the iterator. The pointer has ownership.

getSegment(index)
getSegmentsCount()

Returns the number of segments

A segment contains a description interpolator and the blend used to blend from the previous interpolator

startTime()

Returns the startTime of the trajectory

Return type

float

Returns

Start time

property thisown

The membership flag

x(t)

Position of trajectory at time t

Returns the position of the trajectory at time t \(\in[startTime(), endTime()]\).

Parameters

t (float) – [in] time between startTime() and endTime()

Return type

rw::math::Transform3DVector< double >

Returns

Position

class sdurw_trajectory.sdurw_trajectory.InterpolatorTrajectoryTransform3DVectorCPtr(*args)

Bases: object

Ptr stores a pointer and optionally takes ownership of the value.

__init__(*args)

Overload 1:

Default constructor yielding a NULL-pointer.


Overload 2:

Do not take ownership of ptr.

ptr can be null.

The constructor is implicit on purpose.

ddx(t)
deref()

The pointer stored in the object.

duration()
dx(t)
endTime()

Returns the endTime of the trajectory.

The end time equals startTime() + duration().

Return type

float

Returns

The end time

getDeref()

Member access operator.

getIterator(dt=1)
getSegment(index)
getSegmentsCount()

Returns the number of segments

A segment contains a description interpolator and the blend used to blend from the previous interpolator

isNull()

checks if the pointer is null :rtype: boolean :return: Returns true if the pointer is null

isShared()

check if this Ptr has shared ownership or none ownership :rtype: boolean :return: true if Ptr has shared ownership, false if it has no ownership.

startTime()
property thisown

The membership flag

x(t)