Klamp't
0.8.1
|
Simulates a contact sensor / tactile sensor. More...
#include <ForceSensors.h>
Public Member Functions | |
virtual const char * | Type () const |
virtual void | Simulate (ControlledRobotSimulator *robot, WorldSimulation *sim) |
Called whenever the sensor is updated from the simulaton. | |
virtual void | SimulateKinematic (Robot &robot, RobotWorld &world) |
Updates the sensor for a kinematic world. Useful for non-simulation debugging. | |
virtual void | Reset () |
Should be overridden if the sensor is stateful to reset to an initial state. | |
virtual void | MeasurementNames (vector< string > &names) const |
Must be overridden to produce a list of names of each measurement. | |
virtual void | GetMeasurements (vector< double > &values) const |
Must be overridden to returns a list of all measurements. | |
virtual void | SetMeasurements (const vector< double > &values) |
virtual map< string, string > | Settings () const |
Returns a map of all current name-value pairs of the sensor's settings. | |
virtual bool | GetSetting (const string &name, string &str) const |
Get a named setting. Returns false if the name is not supported. | |
virtual bool | SetSetting (const string &name, const string &str) |
virtual void | DrawGL (const Robot &robot, const vector< double > &measurements) |
![]() | |
virtual void | Advance (double dt) |
Advances to the next time step with duration dt elapsed. | |
virtual bool | ReadState (File &f) |
virtual bool | WriteState (File &f) const |
virtual void | GetInternalState (vector< double > &state) const |
Any other state besides measurements/settings that you might want to store. Used in ReadState. | |
virtual void | SetInternalState (const vector< double > &state) |
Any other state besides measurements/settings that you might want to store. Used in WriteState. | |
Public Attributes | |
int | link |
The link on which the sensor is located. | |
RigidTransform | Tsensor |
Local frame of the sensor relative to the link (by convention, origin is at contact patch center, z is normal to surface, out of robot) | |
Vector2 | patchMin |
Vector2 | patchMax |
The 2D contact patch in the local frame of the sensor. | |
Real | patchTolerance |
The deformation tolerance of the contact patch (default 0.001) | |
bool | hasForce [3] |
If an element is true, that component of force is measured (default false) | |
Vector3 | fResolution |
Resolution of the sensor (default 0) | |
Vector3 | fVariance |
Estimated variance of the sensor (default 0) | |
Real | fSensitivity |
The minimum z force needed to register contact (default 0) | |
Vector3 | fSaturation |
The maximum force registered on each axis (default inf) | |
Real | falloffCoefficient |
The falloff coefficient (default 0) | |
bool | contact |
Measurement: true if contact has been made. | |
Vector3 | force |
Measurement: the force magnitude. | |
![]() | |
string | name |
double | rate |
Simulates a contact sensor / tactile sensor.
The sensor comprises a block of space which needs to be placed on the surface of a robot. The x-y coordinates of this block form a "contact patch" over which the sensor obtains readings. The sensor origin is the center of this block.
If the simulator generates any contacts inside the contact patch, where the contact z-coordinate lies within patchTolerance of 0, then the sensor reports contact. The sensor can also have up to 3 axes of force sensing.
If falloffCoefficient=0, then the entire patch basically acts as a rigid strain gauge. Otherwise, the contact force at local point (x,y) attenuates according to the weight (1-4*|x||y|/(xpatchSize*ypatchSize))^falloffCoefficient so that forces near the edge of the patch are reduced in their influence on the measurement.
Configurable settings:
|
virtual |
If the sensor can be drawn, draw the sensor on the robot's current configuration, using these measurements, using OpenGL calls.
Reimplemented from SensorBase.
|
virtual |
Updates the internal measurement vector. Should be overridden to correctly restore state using ReadState(), or to visualize a physical robot's sensors.
Reimplemented from SensorBase.
|
virtual |
Set a named setting. Returns false if the name is not supported, or the value is formatted incorrectly
Reimplemented from SensorBase.