Package org.robwork.sdurw_models
Class JointDevice
- java.lang.Object
-
- org.robwork.sdurw_kinematics.Stateless
-
- org.robwork.sdurw_models.Device
-
- org.robwork.sdurw_models.JointDevice
-
- Direct Known Subclasses:
CompositeDevice,CompositeJointDevice,ParallelDevice,SerialDevice,TreeDevice
public class JointDevice extends Device
A device for a sequence of joints.
Contrary to for example SerialDevice and TreeDevice, the joints need not
have any particular ordering within the kinematic tree.
A JointDevice is a joint for which the values of the configuration Q each
correspond to a frame of type Joint.
To implement a Device it is common to derive from JointDevice and just
add implement methods where your device differs from the standard
behaviour. Subclasses typically differ in their implementation of setQ()
and the Jacobian computation.
-
-
Constructor Summary
Constructors Constructor Description JointDevice(long cPtr, boolean cMemoryOwn)JointDevice(java.lang.String name, FramePtr base, FramePtr end, VectorJoint_p joints, State state)Construct the device for a sequence of joints.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description JacobianCalculatorPtrbaseJCframes(FrameVector frames, State state)DeviceJacobian for a sequence of frames.JacobianbaseJend(State state)voiddelete()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}
FramegetBase()a method to return the frame of the base of the device.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(JointDevice obj)longgetDOF()Returns number of active jointsFramegetEnd()a method to return the frame of the end of the deviceVectorJoint_pgetJoints()Get all joints of this 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}
voidsetAccelerationLimits(Q acclimits)Sets 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}
voidsetBounds(PairQ bounds)Sets the upper \mathbf{q}_{min} \in \mathbb{R}^n and
lower \mathbf{q}_{max} \in \mathbb{R}^n bounds of the joint space
voidsetQ(Q q, State state)Sets configuration vector \mathbf{q} \in \mathbb{R}^n
voidsetVelocityLimits(Q vellimits)Sets 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}
-
Methods inherited from class org.robwork.sdurw_models.Device
baseJCend, baseJCframe, baseJframe, baseJframes, baseTend, baseTframe, getCPtr, getName, getPropertyMap, setName, toString, worldTbase
-
Methods inherited from class org.robwork.sdurw_kinematics.Stateless
getCPtr, getStateStructure, isRegistered, registerIn, registerIn, unregister
-
-
-
-
Constructor Detail
-
JointDevice
public JointDevice(long cPtr, boolean cMemoryOwn)
-
JointDevice
public JointDevice(java.lang.String name, FramePtr base, FramePtr end, VectorJoint_p joints, State state)Construct the device for a sequence of joints.- Parameters:
name- [in] name of devicebase- [in] the base of the deviceend- [in] the end (or tool) of the devicejoints- [in] the joints of the devicestate- [in] the state that shows how frames are connected as
needed for the computation of Jacobians.
-
-
Method Detail
-
getCPtr
public static long getCPtr(JointDevice obj)
-
getJoints
public VectorJoint_p getJoints()
Get all joints of this device- Returns:
- all joints
-
setQ
public void setQ(Q q, State state)
Description copied from class:DeviceSets configuration vector \mathbf{q} \in \mathbb{R}^n
-
getQ
public Q getQ(State state)
Description copied from class:DeviceGets configuration vector \mathbf{q}\in \mathbb{R}^n
-
getDOF
public long getDOF()
Description copied from class:DeviceReturns number of active joints
-
getBounds
public PairQ getBounds()
Description copied from class:DeviceReturns the upper \mathbf{q}_{min} \in \mathbb{R}^n and
lower \mathbf{q}_{max} \in \mathbb{R}^n bounds of the joint space
-
setBounds
public void setBounds(PairQ bounds)
Description copied from class:DeviceSets the upper \mathbf{q}_{min} \in \mathbb{R}^n and
lower \mathbf{q}_{max} \in \mathbb{R}^n bounds of the joint space
-
getVelocityLimits
public Q getVelocityLimits()
Description copied from class:DeviceReturns 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}
- Overrides:
getVelocityLimitsin classDevice- Returns:
- the maximal velocity
-
setVelocityLimits
public void setVelocityLimits(Q vellimits)
Description copied from class:DeviceSets 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}
- Overrides:
setVelocityLimitsin classDevice- Parameters:
vellimits- [in] Q with the maximal velocity
-
getAccelerationLimits
public Q getAccelerationLimits()
Description copied from class:DeviceReturns 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}
- Overrides:
getAccelerationLimitsin classDevice- Returns:
- the maximal acceleration
-
setAccelerationLimits
public void setAccelerationLimits(Q acclimits)
Description copied from class:DeviceSets 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}
- Overrides:
setAccelerationLimitsin classDevice- Parameters:
acclimits- [in] the maximal acceleration
-
baseJCframes
public JacobianCalculatorPtr baseJCframes(FrameVector frames, State state)
Description copied from class:DeviceDeviceJacobian for a sequence of frames.- Overrides:
baseJCframesin classDevice
-
getBase
public Frame getBase()
Description copied from class:Devicea method to return the frame of the base of the device.
-
-