![]() |
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.