The class modelling a kephera II robot. More...
Public Member Functions | |
PhyKhepera (World *world, QString name, const wMatrix &transformation=wMatrix::identity()) | |
Creates a khepera II robot. | |
virtual | ~PhyKhepera () |
Destructor. | |
void | doKinematicSimulation (bool k) |
Changes the robot model from dynamic to kinematic and vice-versa. | |
bool | getDrawFrontMarker () const |
Returns whether a marker in the front part of the robot is drawn or not. | |
bool | isKinematic () const |
Returns true if we are using the kinematic model. | |
virtual void | postUpdate () |
Post-updates the robot. | |
virtual void | preUpdate () |
Pre-updates the robot. | |
IRSensorController * | proximityIRSensorController () |
Returns the proximity infrared sensors controller. | |
void | setDrawFrontMarker (bool drawMarker) |
Whether to draw a marker in the front part of the robot or not. | |
void | setProximityIRSensorsGraphicalProperties (bool drawSensor, bool drawRay=false, bool drawRealRay=false) |
Sets whether proximity IR sensors are drawn or not and how. | |
WheelMotorController * | wheelsController () |
Returns the motor controller for the wheels. | |
Public Member Functions inherited from WObject | |
WObject (World *world, QString name="unamed", const wMatrix &tm=wMatrix::identity(), bool addToWorld=true) | |
create the object and automatically put this into the world | |
virtual | ~WObject () |
destroy the Object and drop it from the world | |
QColor | color () const |
return the color of this object | |
bool | isInvisible () |
return if it is invisible | |
const wMatrix & | matrix () const |
return a reference to the transformation matrix | |
QString | name () const |
Return the name of this object. | |
void | setAlpha (int alpha) |
set the value of alpha channel (the transparency) | |
void | setColor (QColor c) |
Set the color to use on rendering. | |
void | setInvisible (bool b) |
set invisibility | |
void | setMatrix (const wMatrix &newm) |
set a new matrix | |
void | setPosition (const wVector &newpos) |
set the position specified in global coordinate frame | |
void | setPosition (real x, real y, real z) |
set the position specified in global coordinate frame | |
void | setTexture (QString textureName) |
Set the texture to use for this WObject when rendered. | |
void | setUseColorTextureOfOwner (bool b) |
set if the object will be rendered with the color and texture of our owner (if we have one) | |
QString | texture () const |
Return the texture name. | |
bool | useColorTextureOfOwner () const |
if true, we will use color and texture of our owner (if we have one) | |
World * | world () |
Return the world. | |
const World * | world () const |
Return the world (const version) | |
Public Member Functions inherited from Ownable | |
Ownable () | |
Constructor. | |
virtual | ~Ownable () |
Destructor. | |
const QList< Owned > & | owned () const |
Returns the list of objects owned by this one. | |
Ownable * | owner () const |
Returns the owner of this object. | |
void | setOwner (Ownable *owner, bool destroy=true) |
Sets the owner of this object. | |
Static Public Attributes | |
static const real | axletrack = 0.055f |
The distance between the two motorized wheels. | |
static const real | bodydistancefromground = 0.0015f |
The distance of the body from the ground. | |
static const real | bodyh = 0.030f |
The height of the body of the robot. | |
static const real | bodym = 0.066f |
The mass of the robot without the wheels. | |
static const real | bodyr = 0.035f |
The radius of the body of the robot. | |
static const real | passivewheelm = 0.002f |
The mass of the passive wheels. | |
static const real | passivewheelr = 0.003f |
The radius of the passive wheels. | |
static const real | wheelh = 0.003f |
The height of the motorized wheels. | |
static const real | wheelm = 0.005f |
The mass of one motorized wheel. | |
static const real | wheelr = 0.015f |
The radius of the motorized wheels. | |
Protected Slots | |
void | setLeftWheelDesideredVelocity (real velocity) |
Sets the desidered velocity of the left wheel. | |
void | setRightWheelDesideredVelocity (real velocity) |
Sets the desidered velocity of the right wheel. | |
Protected Member Functions | |
virtual void | changedMatrix () |
The function called when the transformation matrix of the robot is changed. | |
Additional Inherited Members | |
Public Types inherited from Ownable | |
typedef QList< Owned > | OwnedList |
The type for the list of owned objects. | |
Protected Attributes inherited from WObject | |
QColor | colorv |
Color, it contains also alpha channel. | |
bool | invisible |
if TRUE it will not renderized | |
QString | namev |
Name of the WObject. | |
QString | texturev |
Texture name. | |
wMatrix | tm |
Trasformation matrix. | |
bool | usecolortextureofowner |
if true, we will use color and texture of our owner (if we have one). | |
World * | worldv |
World. | |
Detailed Description
The class modelling a kephera II robot.
This class models a khepera II robot. For more information about the robot go to http://www.k-team.com/mobile-robotics-products/khepera-ii/introduction
Definition at line 45 of file phykhepera.h.
Constructor & Destructor Documentation
PhyKhepera | ( | World * | world, |
QString | name, | ||
const wMatrix & | transformation = wMatrix::identity() |
||
) |
Creates a khepera II robot.
- Parameters
-
world the world in which the robot lives name the name of the robots transformation the transformation matrix of the robot
Definition at line 52 of file phykhepera.cpp.
References PhyKhepera::axletrack, PhyKhepera::bodydistancefromground, PhyKhepera::bodyh, PhyKhepera::bodym, PhyKhepera::bodyr, MaterialDB::createMaterial(), PhyJoint::dofs(), wMatrix::identity(), wMatrix::inverse(), World::materials(), WObject::matrix(), PhyKhepera::passivewheelm, PhyKhepera::passivewheelr, wMatrix::roll(), WObject::setColor(), PhyKhepera::setLeftWheelDesideredVelocity(), PhyObject::setMass(), WObject::setMatrix(), Ownable::setOwner(), MaterialDB::setProperties(), PhyKhepera::setRightWheelDesideredVelocity(), WheelMotorController::setSpeedLimits(), WObject::tm, farsa::toRad(), wMatrix::untransformVector(), PhyJoint::updateJointInfo(), PhyKhepera::wheelh, PhyKhepera::wheelm, PhyKhepera::wheelr, wVectorT< false >::X(), wMatrix::yaw(), and wVectorT< false >::Z().
|
virtual |
Destructor.
Definition at line 248 of file phykhepera.cpp.
Member Function Documentation
|
protectedvirtual |
The function called when the transformation matrix of the robot is changed.
This updates the matrix of all sub-objects
Reimplemented from WObject.
Definition at line 363 of file phykhepera.cpp.
References WObject::matrix(), WObject::setMatrix(), WObject::tm, and PhyJoint::updateJointInfo().
void doKinematicSimulation | ( | bool | k | ) |
Changes the robot model from dynamic to kinematic and vice-versa.
- Parameters
-
k if true switches to the kinematic Kephera II model, if false to the dynamic one (at creation the model is always dynamic)
Definition at line 320 of file phykhepera.cpp.
References PhyObject::setKinematic().
bool getDrawFrontMarker | ( | ) | const |
Returns whether a marker in the front part of the robot is drawn or not.
- Returns
- true if a marker in the front part of the robot is drawn
Definition at line 315 of file phykhepera.cpp.
Referenced by PhyKhepera::setDrawFrontMarker().
|
inline |
Returns true if we are using the kinematic model.
- Returns
- true if we are using the kinematic model
Definition at line 201 of file phykhepera.h.
|
virtual |
Post-updates the robot.
This method is called at each step of the world just after the physic update
Reimplemented from WObject.
Definition at line 278 of file phykhepera.cpp.
References SensorController::isEnabled(), WObject::matrix(), WObject::tm, and SimulatedIRProximitySensorController::update().
|
virtual |
Pre-updates the robot.
This method is called at each step of the world just before the physic update
Reimplemented from WObject.
Definition at line 261 of file phykhepera.cpp.
References PhyKhepera::axletrack, MotorController::isEnabled(), WObject::matrix(), WObject::setMatrix(), WheelMotorController::update(), PhyKhepera::wheelr, and WObject::world().
|
inline |
Returns the proximity infrared sensors controller.
- Returns
- the proximity infrared sensors controller
Definition at line 135 of file phykhepera.h.
void setDrawFrontMarker | ( | bool | drawMarker | ) |
Whether to draw a marker in the front part of the robot or not.
- Parameters
-
drawMarker if true draws a marker in the front part of the robot
Definition at line 294 of file phykhepera.cpp.
References GraphicalWObject::attachToObject(), PhyKhepera::bodydistancefromground, PhyKhepera::bodyh, PhyKhepera::bodyr, PhyKhepera::getDrawFrontMarker(), wMatrix::roll(), WObject::setColor(), WObject::setTexture(), WObject::setUseColorTextureOfOwner(), and WObject::world().
|
protectedslot |
Sets the desidered velocity of the left wheel.
This is used when in kinematic to move the robot. We only use velocity because robots can only move by setting wheel velocities
- Parameters
-
velocity the desidered velocity (in radiants per second)
Definition at line 353 of file phykhepera.cpp.
Referenced by PhyKhepera::PhyKhepera().
void setProximityIRSensorsGraphicalProperties | ( | bool | drawSensor, |
bool | drawRay = false , |
||
bool | drawRealRay = false |
||
) |
Sets whether proximity IR sensors are drawn or not and how.
- Parameters
-
drawSensor whether to draw the sensor or not drawRay whether to draw the IR rays or not drawRealRay if true rays are drawn in their actual length, otherwise only the direction is given
Definition at line 289 of file phykhepera.cpp.
References SimulatedIRProximitySensorController::setGraphicalProperties().
|
protectedslot |
Sets the desidered velocity of the right wheel.
This is used when in kinematic to move the robot. We only use velocity because robots can only move by setting wheel velocities
- Parameters
-
velocity the desidered velocity (in radiants per second)
Definition at line 358 of file phykhepera.cpp.
Referenced by PhyKhepera::PhyKhepera().
|
inline |
Returns the motor controller for the wheels.
- Returns
- the motor controller for the wheels
Definition at line 125 of file phykhepera.h.
Member Data Documentation
|
static |
The distance between the two motorized wheels.
Definition at line 87 of file phykhepera.h.
Referenced by PhyKhepera::PhyKhepera(), and PhyKhepera::preUpdate().
|
static |
The distance of the body from the ground.
Definition at line 52 of file phykhepera.h.
Referenced by PhyKhepera::PhyKhepera(), and PhyKhepera::setDrawFrontMarker().
|
static |
The height of the body of the robot.
Definition at line 62 of file phykhepera.h.
Referenced by PhyKhepera::PhyKhepera(), and PhyKhepera::setDrawFrontMarker().
|
static |
The mass of the robot without the wheels.
Definition at line 67 of file phykhepera.h.
Referenced by PhyKhepera::PhyKhepera().
|
static |
The radius of the body of the robot.
Definition at line 57 of file phykhepera.h.
Referenced by PhyKhepera::PhyKhepera(), and PhyKhepera::setDrawFrontMarker().
|
static |
The mass of the passive wheels.
The real robot has no passive wheels, here we need them to reduce the friction with the ground
Definition at line 103 of file phykhepera.h.
Referenced by PhyKhepera::PhyKhepera().
|
static |
The radius of the passive wheels.
The real robot has no passive wheels, here we need them to reduce the friction with the ground
Definition at line 95 of file phykhepera.h.
Referenced by PhyKhepera::PhyKhepera().
|
static |
The height of the motorized wheels.
Definition at line 77 of file phykhepera.h.
Referenced by PhyKhepera::PhyKhepera().
|
static |
The mass of one motorized wheel.
Definition at line 82 of file phykhepera.h.
Referenced by PhyKhepera::PhyKhepera().
|
static |
The radius of the motorized wheels.
Definition at line 72 of file phykhepera.h.
Referenced by PhyKhepera::PhyKhepera(), and PhyKhepera::preUpdate().
The documentation for this class was generated from the following files:
- worldsim/include/phykhepera.h
- worldsim/src/phykhepera.cpp