|  | RobWorkProject
    23.9.11-
    | 
the TactileMatrixSensor class combines a TactileMatrix data type with the actual shape of a tactile sensor. 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. More...
#include <TactileArraySensor.hpp>
Inherits SimulatedTactileSensor.
| Classes | |
| class | ClassState | 
| class for keeping statefull information  More... | |
| struct | DistPoint | 
| Public Types | |
| typedef rw::core::Ptr< TactileArraySensor > | Ptr | 
| Smart pointer type for TactileArraySensor. | |
| typedef rw::sensor::TactileArrayModel::ValueMatrix | ValueMatrix | 
| typedef rw::sensor::TactileArrayModel::VertexMatrix | VertexMatrix | 
|  Public Types inherited from SimulatedSensor | |
| typedef rw::core::Ptr< SimulatedSensor > | Ptr | 
| smart pointer type of this class | |
|  Public Types inherited from Stateless | |
| typedef rw::core::Ptr< Stateless > | Ptr | 
| Smart pointer type for Stateless. | |
| Public Member Functions | |
| TactileArraySensor (const std::string &name, rw::core::Ptr< rwsim::dynamics::Body > obj, const rw::math::Transform3D<> &fThmap, const ValueMatrix &heightMap, const rw::math::Vector2D< double > &texelSize) | |
| Creates a TactileSensor with a geometry specified by a height map and equally sized Texels in an matrix of a given dimension. The transform describe the location of the lower left corner of the texel (0,0).  More... | |
| virtual | ~TactileArraySensor () | 
| destructor | |
| rw::sensor::TactileArrayModel::ValueMatrix & | getTexelData (rw::kinematics::State &state) const | 
| get last sampled texel pressure values  More... | |
| const rw::sensor::TactileArrayModel::ValueMatrix & | getTexelData (const rw::kinematics::State &state) const | 
| get last sampled texel pressure values  More... | |
| void | reset (const rw::kinematics::State &state) | 
| Resets the state of the SimulatedSensor to that of state.  More... | |
| void | addForceW (const rw::math::Vector3D<> &point, const rw::math::Vector3D<> &force, const rw::math::Vector3D<> &snormal, rw::kinematics::State &state, rw::core::Ptr< rwsim::dynamics::Body > body=NULL) | 
| add a force to a point on the sensor geometry. The force is described relative to the world frame.  More... | |
| void | addForce (const rw::math::Vector3D<> &point, const rw::math::Vector3D<> &force, const rw::math::Vector3D<> &snormal, rw::kinematics::State &state, rw::core::Ptr< rwsim::dynamics::Body > body=NULL) | 
| add a force to a point on the sensor geometry. The force is described relative to the sensor frame.  More... | |
| void | addWrenchToCOM (const rw::math::Vector3D<> &force, const rw::math::Vector3D<> &torque, rw::kinematics::State &state, rw::core::Ptr< rwsim::dynamics::Body > body=NULL) | 
| add a wrench to the center of mass of this object  More... | |
| void | addWrenchWToCOM (const rw::math::Vector3D<> &force, const rw::math::Vector3D<> &torque, rw::kinematics::State &state, rw::core::Ptr< rwsim::dynamics::Body > body=NULL) | 
| add a wrench described in World frame to the center of mass of this object  More... | |
| void | update (const rwlibs::simulation::Simulator::UpdateInfo &info, rw::kinematics::State &state) | 
| steps the the SimulatedSensor with time dt and saves any state changes in state.  More... | |
| const std::vector< rw::sensor::Contact3D > & | getActualContacts (const rw::kinematics::State &state) | 
| all contacts that was accumulated into pressure | |
| rw::math::Vector2D | getTexelSize (int x, int y) const | 
| gets the size of an individual tactile cell with coordinates (x,y)  More... | |
| int | getWidth () const | 
| get width of tactile array  More... | |
| int | getHeight () const | 
| get height of tactile array  More... | |
| std::pair< double, double > | getPressureLimit () const | 
| get the minimum and maximum pressure capability of any tactile cell in the TactileArray  More... | |
| const VertexMatrix & | getVertexGrid () const | 
| gets the 3d geometry of this tactilearray. The vertexes are expressed realtive to the transform.  More... | |
| const VertexMatrix & | getCenters () const | 
| a matrix with position of each tactile cell center. The coordinates are described relative to the TactileArray transform (see getTransform())  More... | |
| const VertexMatrix & | getNormals () const | 
| a matrix with position of each tactile cell center. The coordinates are described relative to the TactileArray transform (see getTransform())  More... | |
| const rw::math::Transform3D & | getTransform () const | 
| a transformation from the sensor frame to the geometric data of the tactile array.  More... | |
| rw::kinematics::Frame * | getSensorFrame () | 
| The frame to which the sensor is attached.  More... | |
| rw::sensor::TactileArrayModel::Ptr | getTactileArrayModel () | 
| rw::sensor::Sensor::Ptr | getSensor (rwlibs::simulation::Simulator::Ptr sim) | 
| get sensor with specific name  More... | |
| rw::sensor::TactileArray::Ptr | getTactileArraySensor (rwlibs::simulation::Simulator::Ptr sim) | 
| get a handle to the statefull instance of the simulated sensor  More... | |
| void | setDeformationMask (const ValueMatrix &dmask, double width, double height) | 
| sets the deformation mask used for determining the deformation of the sensor surface when a point force is applied to it.  More... | |
| void | setMaxPenetration (double penetration) | 
| set max penetration in meters. The penetration is really max deformation at any point on the elastic surface of the tactile sensor | |
| const rw::geometry::PlainTriMeshD & | getMesh () | 
| get triangle mesh representing the tactile array  More... | |
|  Public Member Functions inherited from SimulatedTactileSensor | |
| virtual | ~SimulatedTactileSensor () | 
| destructor | |
|  Public Member Functions inherited from SimulatedSensor | |
| virtual | ~SimulatedSensor () | 
| destructor | |
| const std::string & | getName () const | 
| get name of this simulated sensor | |
| rw::kinematics::Frame * | getFrame () const | 
| get frame that this sensor is attached to.  More... | |
| rw::sensor::SensorModel::Ptr | getSensorModel () | 
| get the sensor model of this simulated sensor. | |
| rw::sensor::Sensor::Ptr | getSensorHandle (rwlibs::simulation::Simulator::Ptr sim) | 
| get a handle to controlling an instance of the simulated sensor in a specific simulator  More... | |
|  Public Member Functions inherited from Stateless | |
| virtual | ~Stateless () | 
| destructor | |
| virtual void | registerIn (State &state) | 
| initialize this stateless data to a specific state  More... | |
| virtual void | registerIn (StateStructure::Ptr state) | 
| register this stateless object in a statestructure. | |
| virtual void | unregister () | 
| unregisters all state data of this stateless object | |
| StateStructure::Ptr | getStateStructure () | 
| Get the state structure.  More... | |
| const StateStructure::Ptr | getStateStructure () const | 
| Get the state structure.  More... | |
| bool | isRegistered () | 
| Check if object has registered its state.  More... | |
| Protected Member Functions | |
| ClassState::Ptr | getClassState (rw::kinematics::State &state) const | 
| ClassState::Ptr | getClassState (rw::kinematics::State &state) | 
|  Protected Member Functions inherited from SimulatedTactileSensor | |
| SimulatedTactileSensor (rw::sensor::SensorModel::Ptr model) | |
| Constructor.  More... | |
|  Protected Member Functions inherited from SimulatedSensor | |
| SimulatedSensor (rw::sensor::SensorModel::Ptr model) | |
| constructor | |
|  Protected Member Functions inherited from Stateless | |
| Stateless () | |
| constructor | |
| template<class T > | |
| void | add (StatelessData< T > &data) | 
| implementations of sensor should add all their stateless data on initialization | |
| void | add (StateData *data) | 
| Add data.  More... | |
| void | add (rw::core::Ptr< StateData > data) | 
| implementations of sensor should add all their state data on initialization | |
| Protected Attributes | |
| rw::kinematics::StatelessData< int > | _sdata | 
| VertexMatrix | _contactMatrix | 
| VertexMatrix | _distCenterMatrix | 
| Eigen::MatrixXf | _distDefMatrix | 
| const rw::math::Vector2D | _texelSize | 
| double | _texelArea | 
| const rw::math::Transform3D | _fThmap | 
| const rw::math::Transform3D | _hmapTf | 
| Eigen::MatrixXf | _dmask | 
| rwlibs::proximitystrategies::ProximityStrategyPQP * | _narrowStrategy | 
| double | _maxPenetration | 
| double | _elasticity | 
| double | _tau | 
| rw::core::Ptr< rwsim::dynamics::Body > | _body | 
| double | _maskWidth | 
| double | _maskHeight | 
| rw::core::Ptr< rw::geometry::Geometry > | _ngeom | 
| rw::core::Ptr< rw::geometry::PlainTriMesh< rw::geometry::Triangle<> > > | _ntrimesh | 
| rw::proximity::ProximityModel::Ptr | _nmodel | 
| std::map< rw::kinematics::Frame *, std::vector< rw::core::Ptr< rw::geometry::Geometry > > > | _frameToGeoms | 
| rw::sensor::TactileArrayModel::Ptr | _tmodel | 
|  Protected Attributes inherited from Stateless | |
| bool | _registered | 
| True if object has registered its state. | |
| std::vector< rw::core::Ptr< StateData > > | _datas | 
| Data. | |
| StateStructure::Ptr | _stateStruct | 
| The state structure. | |
the TactileMatrixSensor class combines a TactileMatrix data type with the actual shape of a tactile sensor. 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.
| TactileArraySensor | ( | const std::string & | name, | 
| rw::core::Ptr< rwsim::dynamics::Body > | obj, | ||
| const rw::math::Transform3D<> & | fThmap, | ||
| const ValueMatrix & | heightMap, | ||
| const rw::math::Vector2D< double > & | texelSize | ||
| ) | 
Creates a TactileSensor with a geometry specified by a height map and equally sized Texels in an matrix of a given dimension. The transform describe the location of the lower left corner of the texel (0,0).
| name | [in] | 
| obj | [in] | 
| fThmap | [in] | 
| heightMap | [in] | 
| texelSize | [in] | 
| 
 | virtual | 
add a force to a point on the sensor geometry. The force is described relative to the sensor frame.
| point | [in] the point where the force is acting. | 
| force | [in] the direction in which the force is acting | 
| snormal | [in] the contact normal where the origin is on the contacting body and the direction is toward the sensor | 
| state | [in/out] the state is updated with new sensor information. | 
| body | [in] the body that caused the contact force. If no body caused the force on the sensor (could be user input) then the body is NULL | 
Implements SimulatedTactileSensor.
| 
 | virtual | 
add a force to a point on the sensor geometry. The force is described relative to the world frame.
| point | [in] the point where the force is acting. | 
| force | [in] the direction in which the force is acting | 
| snormal | [in] the contact normal where the origin is on the contacting body and the direction is toward the sensor | 
| state | [in/out] the state is updated with new sensor information. | 
| body | [in] the body that caused the contact force. If no body caused the force on the sensor (could be user input) then the body is NULL | 
Implements SimulatedTactileSensor.
| 
 | virtual | 
add a wrench to the center of mass of this object
| force | |
| torque | |
| state | |
| body | 
Implements SimulatedTactileSensor.
| 
 | virtual | 
add a wrench described in World frame to the center of mass of this object
| force | |
| torque | |
| state | |
| body | 
Implements SimulatedTactileSensor.
| 
 | inline | 
a matrix with position of each tactile cell center. The coordinates are described relative to the TactileArray transform (see getTransform())
| 
 | inline | 
get height of tactile array
| 
 | inline | 
get triangle mesh representing the tactile array
| 
 | inline | 
a matrix with position of each tactile cell center. The coordinates are described relative to the TactileArray transform (see getTransform())
| 
 | inline | 
get the minimum and maximum pressure capability of any tactile cell in the TactileArray
| rw::sensor::Sensor::Ptr getSensor | ( | rwlibs::simulation::Simulator::Ptr | sim | ) | 
get sensor with specific name
| 
 | inline | 
The frame to which the sensor is attached.
The frame can be NULL.
| rw::sensor::TactileArray::Ptr getTactileArraySensor | ( | rwlibs::simulation::Simulator::Ptr | sim | ) | 
get a handle to the statefull instance of the simulated sensor
| sim | [in] simulator in which instance is active. | 
| const rw::sensor::TactileArrayModel::ValueMatrix& getTexelData | ( | const rw::kinematics::State & | state | ) | const | 
get last sampled texel pressure values
| state | [in] state in which values are to be found | 
| rw::sensor::TactileArrayModel::ValueMatrix& getTexelData | ( | rw::kinematics::State & | state | ) | const | 
get last sampled texel pressure values
| state | [in] state in which values are to be found | 
| 
 | inline | 
gets the size of an individual tactile cell with coordinates (x,y)
| x | |
| y | 
| 
 | inline | 
a transformation from the sensor frame to the geometric data of the tactile array.
| 
 | inline | 
gets the 3d geometry of this tactilearray. The vertexes are expressed realtive to the transform.
| 
 | inline | 
get width of tactile array
| 
 | virtual | 
Resets the state of the SimulatedSensor to that of state.
| state | [in] the state that the sensor is reset too. | 
Implements SimulatedSensor.
| void setDeformationMask | ( | const ValueMatrix & | dmask, | 
| double | width, | ||
| double | height | ||
| ) | 
sets the deformation mask used for determining the deformation of the sensor surface when a point force is applied to it.
| 
 | virtual | 
steps the the SimulatedSensor with time dt and saves any state changes in state.
| info | [in] update information related to the time step. | 
| state | [out] changes of the SimulatedSensor is saved in state. | 
Implements SimulatedSensor.