#include <amosII.h>
Inherits lpzrobots::OdeRobot, and Inspectable.
Classes | |
struct | Leg |
Public Types | |
enum | LegPos { L0, L1, L2, R0, R1, R2, LEG_POS_MAX } |
enum | LegPosUsage { LEG, WHEEL, UNUSED } |
enum | LegJointType { TC, CTR, FTI, LEG_JOINT_TYPE_MAX } |
typedef AmosIIMotorNames | MotorName |
typedef AmosIISensorNames | SensorName |
Public Member Functions | |
AmosII (const OdeHandle &odeHandle, const OsgHandle &osgHandle, const AmosIIConf &conf=getDefaultConf(), const std::string &name="AmosII robot") | |
constructor | |
virtual | ~AmosII () |
virtual void | update () |
updates the OSG nodes of the vehicle | |
virtual void | place (const osg::Matrix &pose) |
sets the pose of the vehicle | |
virtual int | getSensors (sensor *sensors, int sensornumber) |
returns actual sensorvalues | |
virtual void | setMotors (const motor *motors, int motornumber) |
sets actual motorcommands | |
virtual int | getSensorNumber () |
returns number of sensors | |
virtual int | getMotorNumber () |
returns number of motors | |
virtual void | doInternalStuff (GlobalData &globalData) |
this function is called in each timestep. | |
virtual double | getMassOfRobot () |
void | setLegPosUsage (LegPos leg, LegPosUsage usage) |
virtual bool | setParam (const paramkey &key, paramval val) |
virtual Primitive * | getMainPrimitive () const |
the main object of the robot, which is used for position and speed tracking | |
Static Public Member Functions | |
static AmosIIConf | getDefaultConf (double _scale=1.0, bool _useShoulder=1, bool _useFoot=1, bool _useBack=0) |
Returns the default configuration values. | |
static AmosIIConf | getAmosIIv1Conf (double _scale=1.0, bool _useShoulder=1, bool _useFoot=1, bool _useBack=0) |
static AmosIIConf | getAmosIIv2Conf (double _scale=1.0, bool _useShoulder=1, bool _useFoot=1, bool _useBack=0) |
static MotorName | getMotorName (LegPos leg, LegJointType joint) |
returns the MotorName enum value for the given joint at the given leg. | |
static LegJointType | getLegJointType (MotorName) |
Returns the joint type of the given motor. | |
static LegPos | getMotorLegPos (MotorName) |
Returns the leg of the given motor. | |
Protected Member Functions | |
virtual void | create (const osg::Matrix &pose) |
creates vehicle at desired pose | |
virtual void | destroy () |
destroys vehicle and space | |
void | nameMotor (const int motorNo, const char *name) |
Assign a human readable name to a motor. | |
void | nameSensor (const int sensorNo, const char *name) |
Assign a human readable name to a sensor. |
typedef AmosIIMotorNames MotorName |
typedef AmosIISensorNames SensorName |
enum LegJointType |
enum LegPos |
enum LegPosUsage |
AmosII | ( | const OdeHandle & | odeHandle, | |
const OsgHandle & | osgHandle, | |||
const AmosIIConf & | conf = getDefaultConf() , |
|||
const std::string & | name = "AmosII robot" | |||
) |
constructor
odeHandle | data structure for accessing ODE | |
osgHandle | ata structure for accessing OSG | |
conf | configuration object | |
name | name to display for this robot |
~AmosII | ( | ) | [virtual] |
void create | ( | const osg::Matrix & | pose | ) | [protected, virtual] |
creates vehicle at desired pose
creates vehicle at desired position
pose | 4x4 pose matrix | |
pos | struct Position with desired position |
central position of the trunk
parameters are set later
parameters are set later
parameters are set later
void destroy | ( | ) | [protected, virtual] |
destroys vehicle and space
void doInternalStuff | ( | GlobalData & | global | ) | [virtual] |
this function is called in each timestep.
It should perform robot-internal checks,like space-internal collision detection, sensor resets/update etc.
globalData | structure that contains global data from the simulation environment |
It should perform robot- internal checks, like space-internal collision detection, sensor resets/update etc.
global | structure that contains global data from the simulation environment |
Reimplemented from OdeRobot.
AmosIIConf getAmosIIv1Conf | ( | double | _scale = 1.0 , |
|
bool | _useShoulder = 1 , |
|||
bool | _useFoot = 1 , |
|||
bool | _useBack = 0 | |||
) | [static] |
AmosIIConf getAmosIIv2Conf | ( | double | _scale = 1.0 , |
|
bool | _useShoulder = 1 , |
|||
bool | _useFoot = 1 , |
|||
bool | _useBack = 0 | |||
) | [static] |
AmosIIConf getDefaultConf | ( | double | _scale = 1.0 , |
|
bool | _useShoulder = 1 , |
|||
bool | _useFoot = 1 , |
|||
bool | _useBack = 0 | |||
) | [static] |
Returns the default configuration values.
AmosII::LegJointType getLegJointType | ( | MotorName | name | ) | [static] |
Returns the joint type of the given motor.
returns the joint type of the given motor.
If the given motor name is not associated with a leg joint JOINT_TYPE_MAX is returend and a warning is given out.
MotorName | name of the motor |
Primitive * getMainPrimitive | ( | ) | const [virtual] |
the main object of the robot, which is used for position and speed tracking
Reimplemented from OdeRobot.
double getMassOfRobot | ( | ) | [virtual] |
AmosII::LegPos getMotorLegPos | ( | MotorName | name | ) | [static] |
Returns the leg of the given motor.
If the given motor name is not associated wit a leg LEG_POS_MAX is returned and a warning is given out.
MotorName | name of the motor |
If the given motor name is not associated wit a leg LEG_POS_MAX is returned and a warning is given out
MotorName | name of the motor |
AmosII::MotorName getMotorName | ( | LegPos | leg, | |
LegJointType | joint | |||
) | [static] |
returns the MotorName enum value for the given joint at the given leg.
If the value for leg or joint are not valid AMOSII_MOTOR_MAX is returned.
leg | leg position | |
joint | leg joint type |
int getMotorNumber | ( | ) | [virtual] |
returns number of motors
Implements AbstractRobot.
int getSensorNumber | ( | ) | [virtual] |
returns number of sensors
Implements AbstractRobot.
int getSensors | ( | sensor * | sensors, | |
int | sensornumber | |||
) | [virtual] |
returns actual sensorvalues
sensors | sensor array with sensors scaled to [-1,1] | |
sensornumber | length of the sensor array |
Implements AbstractRobot.
void nameMotor | ( | const int | motorNo, | |
const char * | name | |||
) | [protected] |
Assign a human readable name to a motor.
This name is used for the associated inspectable value as used e.g. in guilogger.
motorNo | index of the motor (for standard motors defined by the MotorName enum) | |
name | human readable name for the motor |
void nameSensor | ( | const int | sensorNo, | |
const char * | name | |||
) | [protected] |
Assign a human readable name to a sensor.
This name is used for the associated inspectable value as used e.g. in guilogger.
motorNo | index of the motor (for standard motors defined by the SensorName enum) | |
name | human readable name for the sensor |
void place | ( | const osg::Matrix & | pose | ) | [virtual] |
void setLegPosUsage | ( | LegPos | leg, | |
LegPosUsage | usage | |||
) |
void setMotors | ( | const motor * | motors, | |
int | motornumber | |||
) | [virtual] |
sets actual motorcommands
motors | motors scaled to [-1,1] | |
motornumber | length of the motor array |
Implements AbstractRobot.
void update | ( | ) | [virtual] |