Class 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 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 sensor
        sensorframe - [in] the frame to which the sensor is attached
        fThmap - [in] transformation from sensor frame to the heightmap definition
        heightMap - [in] a height map defining the height of each corner in the tactile
        array
        cell_width - [in] width of cell
        cell_height - [in] height of cell
    • Method Detail

      • 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 Pa
        max - [in] max pressure in Pa
      • 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 values
        state - [in] state to set the values in