Package org.robwork.sdurw
Class TactileArrayModel
- java.lang.Object
-
- org.robwork.sdurw_kinematics.Stateless
-
- org.robwork.sdurw.SensorModel
-
- org.robwork.sdurw.TactileArrayModel
-
public class TactileArrayModel extends SensorModel
the TactileArrayModel describes tactile sensor consisting of
arrays of tactile cells that can be placed on a defined shape. The shape is described
with a matrix of 3d vertices. Such that tactil (0,0) maps to the quad
defined by the four vertices {(0,0),(0,1),(1,1),(1,0)}. Notice that the
normal is defined by sequence of the vertices and that the normal defines
the direction of tactile sensing.
-
-
Constructor Summary
Constructors Constructor Description TactileArrayModel(long cPtr, boolean cMemoryOwn)
TactileArrayModel(java.lang.String name, Frame sensorframe, Transform3Dd fThmap, EigenMatrixXf heightMap, double cell_width, double cell_height)
constructor
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
delete()
TactileVertexMatrix
getCenters()
a matrix with position of each tactile cell center.static long
getCPtr(TactileArrayModel obj)
int
getHeight()
get height of tactile arrayTactileVertexMatrix
getNormals()
a matrix of normals that are described relative to each tactile
cell center.pairDoubleDouble
getPressureLimit()
get the minimum and maximum pressure capability of any tactile
cell in the TactileArrayEigenMatrixXf
getTexelData(State state)
returns the pressure on each texel of the TactileArray in
the unit Pa (N/m^2).Vector2Dd
getTexelSize(int x, int y)
gets the size of an individual tactile cell with coordinates (x,y)Transform3Dd
getTransform()
a transformation from the sensor frame to the geometric data of
the tactile array.TactileVertexMatrix
getVertexGrid()
gets the 3d geometry of this tactilearray.int
getWidth()
get width of tactile arrayvoid
setPressureLimit(double min, double max)
set pressure limits.void
setPressureLimit(pairDoubleDouble range)
void
setTexelData(EigenMatrixXf data, State state)
set the pressure on each texel of the TactileArray in
the unit Pa (N/m^2).-
Methods inherited from class org.robwork.sdurw.SensorModel
attachTo, getCPtr, getDescription, getFrame, getName, getPropertyMap, setDescription, setName
-
Methods inherited from class org.robwork.sdurw_kinematics.Stateless
getCPtr, getStateStructure, isRegistered, registerIn, registerIn, unregister
-
-
-
-
Constructor Detail
-
TactileArrayModel
public TactileArrayModel(long cPtr, boolean cMemoryOwn)
-
TactileArrayModel
public TactileArrayModel(java.lang.String name, Frame sensorframe, Transform3Dd fThmap, EigenMatrixXf heightMap, double cell_width, double cell_height)
constructor- Parameters:
name
- [in] name of sensorsensorframe
- [in] the frame to which the sensor is attachedfThmap
- [in] transformation from sensor frame to the heightmap definitionheightMap
- [in] a height map defining the height of each corner in the tactile
arraycell_width
- [in] width of cellcell_height
- [in] height of cell
-
-
Method Detail
-
getCPtr
public static long getCPtr(TactileArrayModel obj)
-
delete
public void delete()
- Overrides:
delete
in classSensorModel
-
getTexelSize
public Vector2Dd getTexelSize(int x, int y)
gets the size of an individual tactile cell with coordinates (x,y)- Parameters:
x
-y
-- Returns:
- the dimensions of the tactile cell in meters
-
getPressureLimit
public pairDoubleDouble getPressureLimit()
get the minimum and maximum pressure capability of any tactile
cell in the TactileArray- Returns:
- min and max pressure in Pa
-
setPressureLimit
public void setPressureLimit(double min, double max)
set pressure limits. should define min max of any tactile cell in array- Parameters:
min
- [in] min pressure in Pamax
- [in] max pressure in Pa
-
setPressureLimit
public void setPressureLimit(pairDoubleDouble range)
-
getVertexGrid
public TactileVertexMatrix getVertexGrid()
gets the 3d geometry of this tactilearray. The vertexes are expressed
realtive to the transform.- Returns:
-
getTransform
public Transform3Dd getTransform()
a transformation from the sensor frame to the geometric data of
the tactile array.- Returns:
-
getCenters
public TactileVertexMatrix getCenters()
a matrix with position of each tactile cell center. The coordinates
are described relative to the TactileArray transform (see getTransform())- Returns:
- a matrix describing the center of each tactile cell.
-
getNormals
public TactileVertexMatrix getNormals()
a matrix of normals that are described relative to each tactile
cell center.- Returns:
-
getWidth
public int getWidth()
get width of tactile array
-
getHeight
public int getHeight()
get height of tactile array
-
getTexelData
public EigenMatrixXf getTexelData(State state)
returns the pressure on each texel of the TactileArray in
the unit Pa (N/m^2).- Parameters:
state
- [in] state to get the values from- Returns:
- matrix of texel pressure values
-
setTexelData
public void setTexelData(EigenMatrixXf data, State state)
set the pressure on each texel of the TactileArray in
the unit Pa (N/m^2).- Parameters:
data
- [in] pressure valuesstate
- [in] state to set the values in
-
-