Robot Simulator of the Robotics Group for Self-Organization of Control
0.8.0
|
Class representing a range finder. More...
#include <rangeFinder.h>
Public Member Functions | |
RangeFinder () | |
virtual void | init (Primitive *own, Joint *joint=0) override |
initialises sensor with a body of robot and optionally with a joint. More... | |
virtual void | registerSensorRange (int numBeams, double startAngle, double endAngle, double maxRange, double height, RaySensor::rayDrawMode drawMode=RaySensor::drawRay) |
Register equidistant IR sensor in a given angular range. More... | |
![]() | |
RaySensorBank () | |
virtual | ~RaySensorBank () |
virtual void | setInitData (const OdeHandle &odeHandle, const OsgHandle &osgHandle, const osg::Matrix &pose) override |
sets the initial data structures More... | |
virtual int | getSensorNumber () const override |
returns the number of sensors values produced by this sensor More... | |
virtual bool | sense (const GlobalData &globaldata) override |
performs sense action More... | |
virtual int | get (sensor *sensors, int length) const override |
writes the sensor values (usually in the range [-1,1] ) into the given sensor array and returns the number of sensors written. More... | |
virtual std::list< sensor > | getList () const override |
returns a list of sensor values (usually in the range [-1,1] ) This function should be overloaded. More... | |
virtual void | update () override |
to update any visual appearance More... | |
virtual unsigned int | registerSensor (RaySensor *raysensor, Primitive *body, const osg::Matrix &pose, float range, RaySensor::rayDrawMode drawMode) |
registers a new sensor at the sensor bank. More... | |
virtual int | size () |
returns the number of sensors More... | |
virtual void | setRange (unsigned int index, float range) |
set the range of the specified sensor (index) More... | |
virtual void | setRange (float range) |
set the range of all sensors More... | |
virtual dSpaceID | getSpaceID () |
returns the spaceID of the sensor space More... | |
virtual void | clear () |
virtual bool | isInitialized () |
![]() | |
PhysicalSensor () | |
virtual | ~PhysicalSensor () |
virtual void | setPose (const osg::Matrix &pose) |
changes the relative pose of the sensor More... | |
virtual osg::Matrix | getPose () |
relative pose of the sensor More... | |
![]() | |
Sensor () | |
virtual | ~Sensor () |
virtual std::list < SensorMotorInfo > | getSensorInfos () const |
returns a list of sensor infos ( More... | |
std::list< sensor > | getListOfArray () const |
helper function for performance implementation of list<> get() based on array-get More... | |
![]() | |
SensorMotorInfoAble () | |
void | setBaseName (const std::string &basename) |
void | setBaseInfo (const SensorMotorInfo &baseinfo) |
SensorMotorInfo | getBaseInfo () |
void | setNamingFunc (const NamingFunction &func) |
NamingFunction | getNamingFunc () const |
void | setNames (const std::vector< std::string > &names) |
set names explicitly (basename is anyway suffixed) More... | |
std::string | getName (int index) const |
returns the name of a single item. Typically called from within Sensor and Motor class. More... | |
std::list< SensorMotorInfo > | getInfos (int number) const |
get all infos. More... | |
Protected Attributes | |
Primitive * | own |
![]() | |
std::vector< RaySensor * > | bank |
bool | initialized |
![]() | |
OdeHandle | odeHandle |
OsgHandle | osgHandle |
osg::Matrix | pose |
bool | isInitDataSet |
![]() | |
NamingFunction | func |
SensorMotorInfo | baseinfo |
Additional Inherited Members | |
![]() | |
enum | Dimensions { X = 1, Y = 2, Z = 4, XY = X | Y, XZ = X | Z, YZ = Y | Z, XYZ = X | Y | Z } |
defines which dimensions should be sensed. The meaning is sensor specific. More... | |
![]() | |
typedef std::function < std::string(int)> | NamingFunction |
function that returns the name given the index More... | |
![]() | |
static std::list< sensor > | selectrows (const matrix::Matrix &m, short dimensions) |
selects the rows specified by dimensions (X->0, Y->1, Z->2) More... | |
static int | selectrows (sensor *sensors, int length, const matrix::Matrix &m, short dimensions) |
selects the rows specified by dimensions (X->0, Y->1, Z->2) More... | |
static Dimensions | parseSensorDimension (char *str) |
static std::string | dimensions2String (short dimensions) |
![]() | |
static std::string | defaultNameing (int index) |
the default implementation is for index==0: basename, otherwise basename + (index+1) More... | |
Class representing a range finder.
It consists of several ray sensors. This class is basically an extended (and easier) interface to a RaySensorBank, which allows a more convenient handling of several IR sensors in a given angular range.
|
inline |
initialises sensor with a body of robot and optionally with a joint.
This is usually done by the robot itself (or using the Attachment())
Reimplemented from RaySensorBank.
|
virtual |
Register equidistant IR sensor in a given angular range.
numBeams | number of beams of the range finder |
startAngle | angle of the leftmost beam |
endAngle | angle of the rightmost beam |
maxRange | maximum range of the raysensors |
height | At which height to attach the range finder (0 will attach it to the center of gravity of own) |
drawMode | Specifies if rays should be drawn or not (default is drawing rays) |
|
protected |