Package org.robwork.sdurw_models
Class DeviceCPtr
- java.lang.Object
-
- org.robwork.sdurw_models.DeviceCPtr
-
public class DeviceCPtr extends java.lang.ObjectPtr stores a pointer and optionally takes ownership of the value.
-
-
Constructor Summary
Constructors Constructor Description DeviceCPtr()Default constructor yielding a NULL-pointer.DeviceCPtr(long cPtr, boolean cMemoryOwn)DeviceCPtr(Device ptr)Do not take ownership of ptr.
ptr can be null.
The constructor is implicit on purpose.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Device__ref__()Dereferencing operator.JacobianCalculatorPtrbaseJCend(State state)DeviceJacobian for the end frame.
By default this method forwards to baseDJframe().JacobianCalculatorPtrbaseJCframe(FrameCPtr frame, State state)DeviceJacobian for a particular frame.
By default this method forwards to baseDJframes().JacobianCalculatorPtrbaseJCframes(FrameVector frames, State state)DeviceJacobian for a sequence of frames.JacobianbaseJend(State state)JacobianbaseJframe(FrameCPtr frame, State state)Calculates the jacobian matrix of a frame f described in the
robot base frame ^{base}_{frame}\mathbf{J}_{\mathbf{q}}(\mathbf{q})
JacobianbaseJframes(FrameVector frames, State state)The Jacobian for a sequence of frames.
A Jacobian is computed for each of the frames and the Jacobians are
stacked on top of eachother.Transform3DbaseTend(State state)Calculates the homogeneous transform from base to the end frame
\robabx{base}{end}{\mathbf{T}}Transform3DbaseTframe(FrameCPtr f, State state)Calculates the homogeneous transform from base to a frame f
\robabx{b}{f}{\mathbf{T}}voiddelete()Devicederef()The pointer stored in the object.booleanequals(Device p)QgetAccelerationLimits()Returns the maximal acceleration of the joints
\mathbf{\ddot{q}}_{max}\in \mathbb{R}^n
It is assumed that \ddot{\mathbf{q}}_{min}=-\ddot{\mathbf{q}}_{max}
PairQgetBounds()Returns the upper \mathbf{q}_{min} \in \mathbb{R}^n and
lower \mathbf{q}_{max} \in \mathbb{R}^n bounds of the joint space
static longgetCPtr(DeviceCPtr obj)DevicegetDeref()Member access operator.longgetDOF()Returns number of active jointsjava.lang.StringgetName()Returns the name of the deviceQgetQ(State state)Gets configuration vector \mathbf{q}\in \mathbb{R}^n
QgetVelocityLimits()Returns the maximal velocity of the joints
\mathbf{\dot{q}}_{max}\in \mathbb{R}^n
It is assumed that \dot{\mathbf{q}}_{min}=-\dot{\mathbf{q}}_{max}
booleanisNull()checks if the pointer is nullbooleanisShared()check if this Ptr has shared ownership or none
ownershipvoidsetQ(Q q, State state)Sets configuration vector \mathbf{q} \in \mathbb{R}^n
Transform3DworldTbase(State state)Calculates the homogeneous transform from world to base \robabx{w}{b}{\mathbf{T}}
-
-
-
Constructor Detail
-
DeviceCPtr
public DeviceCPtr(long cPtr, boolean cMemoryOwn)
-
DeviceCPtr
public DeviceCPtr()
Default constructor yielding a NULL-pointer.
-
DeviceCPtr
public DeviceCPtr(Device ptr)
Do not take ownership of ptr.
ptr can be null.
The constructor is implicit on purpose.
-
-
Method Detail
-
getCPtr
public static long getCPtr(DeviceCPtr obj)
-
delete
public void delete()
-
deref
public Device deref()
The pointer stored in the object.
-
__ref__
public Device __ref__()
Dereferencing operator.
-
getDeref
public Device getDeref()
Member access operator.
-
equals
public boolean equals(Device p)
-
isShared
public boolean isShared()
check if this Ptr has shared ownership or none
ownership- Returns:
- true if Ptr has shared ownership, false if it has no ownership.
-
isNull
public boolean isNull()
checks if the pointer is null- Returns:
- Returns true if the pointer is null
-
setQ
public void setQ(Q q, State state)
Sets configuration vector \mathbf{q} \in \mathbb{R}^n
- Parameters:
q- [in] configuration vector \mathbf{q}state- [in] state into which to set \mathbf{q}
-
getQ
public Q getQ(State state)
Gets configuration vector \mathbf{q}\in \mathbb{R}^n
- Parameters:
state- [in] state from which which to get \mathbf{q}- Returns:
- configuration vector \mathbf{q}
-
getBounds
public PairQ getBounds()
Returns the upper \mathbf{q}_{min} \in \mathbb{R}^n and
lower \mathbf{q}_{max} \in \mathbb{R}^n bounds of the joint space
- Returns:
- std::pair containing (\mathbf{q}_{min}, \mathbf{q}_{max})
-
getVelocityLimits
public Q getVelocityLimits()
Returns the maximal velocity of the joints
\mathbf{\dot{q}}_{max}\in \mathbb{R}^n
It is assumed that \dot{\mathbf{q}}_{min}=-\dot{\mathbf{q}}_{max}
- Returns:
- the maximal velocity
-
getAccelerationLimits
public Q getAccelerationLimits()
Returns the maximal acceleration of the joints
\mathbf{\ddot{q}}_{max}\in \mathbb{R}^n
It is assumed that \ddot{\mathbf{q}}_{min}=-\ddot{\mathbf{q}}_{max}
- Returns:
- the maximal acceleration
-
getDOF
public long getDOF()
Returns number of active joints- Returns:
- number of active joints n
-
getName
public java.lang.String getName()
Returns the name of the device- Returns:
- name of the device
-
baseTframe
public Transform3D baseTframe(FrameCPtr f, State state)
Calculates the homogeneous transform from base to a frame f
\robabx{b}{f}{\mathbf{T}}- Returns:
- the homogeneous transform \robabx{b}{f}{\mathbf{T}}
-
baseTend
public Transform3D baseTend(State state)
Calculates the homogeneous transform from base to the end frame
\robabx{base}{end}{\mathbf{T}}- Returns:
- the homogeneous transform \robabx{base}{end}{\mathbf{T}}
-
worldTbase
public Transform3D worldTbase(State state)
Calculates the homogeneous transform from world to base \robabx{w}{b}{\mathbf{T}}
- Returns:
- the homogeneous transform \robabx{w}{b}{\mathbf{T}}
-
baseJframe
public Jacobian baseJframe(FrameCPtr frame, State state)
Calculates the jacobian matrix of a frame f described in the
robot base frame ^{base}_{frame}\mathbf{J}_{\mathbf{q}}(\mathbf{q})
- Parameters:
frame- [in] Frame for which to calculate the Jacobianstate- [in] State for which to calculate the Jacobian
- Returns:
- the 6*ndof jacobian matrix:
{^{base}_{frame}}\mathbf{J}_{\mathbf{q}}(\mathbf{q})
This method calculates the jacobian relating joint velocities ( \mathbf{\dot{q}} ) to the frame f velocity seen from base-frame
( \nu^{base}_{frame} )
\nu^{base}_{frame} = {^{base}_{frame}}\mathbf{J}_\mathbf{q}(\mathbf{q})\mathbf{\dot{q}}
The jacobian matrix {^{base}_n}\mathbf{J}_{\mathbf{q}}(\mathbf{q})
is defined as:
{^{base}_n}\mathbf{J}_{\mathbf{q}}(\mathbf{q}) = \frac{\partial ^{base}\mathbf{x}_n}{\partial \mathbf{q}}
By default the method forwards to baseJframes().
-
baseJframes
public Jacobian baseJframes(FrameVector frames, State state)
The Jacobian for a sequence of frames.
A Jacobian is computed for each of the frames and the Jacobians are
stacked on top of eachother.- Parameters:
frames- [in] the frames to calculate the frames fromstate- [in] the state to calculate in- Returns:
- the jacobian
-
baseJCend
public JacobianCalculatorPtr baseJCend(State state)
DeviceJacobian for the end frame.
By default this method forwards to baseDJframe().
-
baseJCframe
public JacobianCalculatorPtr baseJCframe(FrameCPtr frame, State state)
DeviceJacobian for a particular frame.
By default this method forwards to baseDJframes().
-
baseJCframes
public JacobianCalculatorPtr baseJCframes(FrameVector frames, State state)
DeviceJacobian for a sequence of frames.
-
-