- Aldebaran documentation |
- C++ Libraries |
- index

simulator-sdk 2.8.7.4

- Main Page
- Related Pages
- Classes
- Files

- Class List
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
Public Member Functions | Public Attributes | List of all members
Sim::HALInterface Class Reference

HALInterface is responsible for reading and writing values into the Hardware Abstraction Layer (HAL) of the robot. More...

`#include <alnaosim.h>`

## Public Member Functions
| HALInterface (const Model *model, int NAOqiId=9559)
| creates a HALInterface given a valid model. More...
| ~HALInterface ()
| destructor. More...
float | fetchAngleActuatorValue (const AngleActuator *angleActuator)
| returns the last command value (in radians) of the given angleActuator. More...
float | fetchCoupledActuatorValue (const CoupledActuator *coupledActuator)
| returns the last command value (between 0 and 1, no unit) of the given coupledActuator. More...
float | fetchTorqueActuatorValue (const TorqueActuator *torqueActuator)
| returns the last command value (in Newton per meter) of the given torqueActuator. More...
float | fetchAngleSpeedActuatorValue (const AngleSpeedActuator *angleSpeedActuator)
| returns the last command value (in radians per second) of the given angleSpeedActuator. More...
float | fetchWheelTorqueActuatorValue (const WheelTorqueActuator *wheelTorqueActuator)
| returns the last command value (in Newton per meter) of the given wheelTorqueActuator. More...
float | fetchWheelVelocityActuatorValue (const WheelVelocityActuator *wheelVelocityActuator)
| returns the last command value (in radians per second) of the given wheelVelocityActuator. More...
float | fetchLEDActuatorValue (const LEDActuator *ledActuator)
| returns the last command value (between 0 and 1) of the given ledActuator. More...
float | fetchAngleActuatorStiffness (const AngleActuator *angleActuator)
| returns the last stiffness value (between 0 and 1, no unit) of the given angleActuator. More...
float | fetchCoupledActuatorStiffness (const CoupledActuator *coupledActuator)
| returns the last stiffness value (between 0 and 1, no unit) of the given coupledActuator. More...
float | fetchTorqueActuatorStiffness (const TorqueActuator *torqueActuator)
| returns the last stiffness value (between 0 and 1, no unit) of the given torqueActuator. More...
float | fetchAngleSpeedActuatorStiffness (const AngleSpeedActuator *angleSpeedActuator)
| returns the last stiffness value (between 0 and 1, no unit) of the given angleSpeedActuator. More...
float | fetchWheelTorqueActuatorStiffness (const WheelTorqueActuator *wheelTorqueActuator)
| returns the last stiffness value (between 0 and 1, no unit) of the given wheelTorqueActuator. More...
float | fetchWheelVelocityActuatorStiffness (const WheelVelocityActuator *wheelVelocityActuator)
| returns the last stiffness value (between 0 and 1, no unit) of the given wheelVelocityActuator. More...
bool | sendAngleSensorValue (const AngleSensor *angleSensor, float value)
| sends value (in radians) to the given angleSensor. More...
bool | sendCoupledSensorValue (const CoupledSensor *coupledSensor, float value)
| sends value (between 0 and 1, no unit) to the given coupledSensor. More...
bool | sendTorqueSensorValue (const TorqueSensor *torqueSensor, float value)
| sends value in Newton per meter to the given torqueSensor. More...
bool | sendAngleSpeedSensorValue (const AngleSpeedSensor *angleSpeedSensor, float value)
| sends value in radians per second to the given angleSpeedSensor. More...
bool | sendWheelVelocitySensorValue (const WheelVelocitySensor *wheelVelocitySensor, float value)
| sends value in radians per second to the given wheelVelocitySensor. More...
bool | sendCameraSensorValue (const CameraSensor *cameraSensor, const unsigned char *img)
| sends the content of the buffer img to the given cameraSensor More...
bool | sendCameraSensorValue (const CameraSensor *cameraSensor, const unsigned char *img, CameraResolution camResolution, CameraColorSpace camColorSpace)
| sends the content of the buffer img to the given cameraSensor More...
bool | sendCameraDepthSensorValue (const CameraDepthSensor *cameraDepthSensor, const float *buffer)
| sends the content of the buffer depth to the given cameraDepthSensor. More...
bool | sendCameraDepthSensorValue (const CameraDepthSensor *cameraDepthSensor, const float *buffer, CameraResolution camResolution, CameraColorSpace camColorSpace)
| sends the content of the buffer depth to the given cameraDepthSensor. More...
bool | sendFSRSensorValue (const FSRSensor *fsrSensor, float value)
| sends value (in kilograms) to the given fsrSensor. More...
bool | sendBumperSensorValue (const BumperSensor *bumperSensor, float value)
| sends value (between 0 and 1, no unit) to the given bumperSensor. More...
bool | sendTactileSensorValue (const TactileSensor *tactileSensor, float value)
| sends value (between 0 and 1, no unit) to the given tactileSensor. More...
bool | sendDepthInfraredSensorValue (const DepthInfraredSensor *depthInfraredSensor, float value)
| sends value (in meters) to the given DepthInfraredSensor. More...
bool | sendSingleDepthSensorValue (const SingleDepthSensor *singleDepthSensor, float value)
| sends value (in meters) to the given SingleDepthSensor. More...
bool | sendInertialSensorValues (const InertialSensor *inertialSensor, const std::vector< float > &values)
| sends values (see remarks) to the given inertialSensor. More...
bool | sendSonarSensorValues (const SonarSensor *sonarSensor, const std::vector< float > &values)
| sends values in meters to the given sonarSensor (see remarks). More...
bool | sendSonarSensorValue (const SonarSensor *sonarSensor, float value)
| sends value in meters to the given sonarSensor (see remarks). More...
bool | sendArrayDepthSensorValues (const ArrayDepthSensor *arrayDepthSensor, const std::vector< float > &values)
| sends values in meters to the given arrayDepthSensor More...
void | cameraBufferSize (const CameraSensor *camera, int *cameraBufferSize, int *width, int *height)
| gives the buffer size, width and height of the given camera More...
int | cameraBufferSize (const CameraSensor *camera)
| returns the buffer size of the camera. More...
void | cameraDepthBufferSize (const CameraDepthSensor *camera, int *cameraBufferSize, int *width, int *height)
| gives the buffer size, width and height of the given depth camera. More...
CameraResolution | cameraResolution (const BaseCamera *camera) const
| gives the current resolution of the given CameraSensor More...
CameraColorSpace | cameraColorSpace (const BaseCamera *camera) const
| gives the current color space of the given CameraSensor More...

## Public Attributes
class HALInterfaceImpl * | a_impl
| Private implementation. More...

## Detailed Description

HALInterface is responsible for reading and writing values into the Hardware Abstraction Layer (HAL) of the robot.

Remarks
  Values from the HAL are read by NAOqi, so changing these values allows you to simulate stimuli from the environment to NAOqi.
  This lib uses NAOqi logging system (qi::log). The log system needs to be initialized in the main of your application, see libqi documentation. NAOqi launches this logging system, so you will see log messages if you launch a NAOqi while using this lib.

Definition at line 61 of file alnaosim.h.

## Constructor & Destructor Documentation

Sim::HALInterface::HALInterface | ( | const Model * | model,
|  | int | NAOqiId = `9559`
| ) |  |

creates a HALInterface given a valid model.

Sim::HALInterface::~HALInterface | ( |  | ) |

destructor.

## Member Function Documentation

void Sim::HALInterface::cameraBufferSize | ( | const CameraSensor * | camera,
|  | int * | cameraBufferSize,
|  | int * | width,
|  | int * | height
| ) |  |

gives the buffer size, width and height of the given camera

Remarks
  The dimensions are expressed in pixels.

int Sim::HALInterface::cameraBufferSize | ( | const CameraSensor * | camera | ) |

returns the buffer size of the camera.

Remarks
  The value returned here is equal to width * height * 3. The dimensions are expressed in pixels. 3 corresponds to the 3 colors (RGB)

Deprecated:
  Since 1.18, use cameraBufferSize(camera, bufferSize, width, height) instead.

CameraColorSpace Sim::HALInterface::cameraColorSpace | ( | const BaseCamera * | camera | ) | const

gives the current color space of the given CameraSensor

void Sim::HALInterface::cameraDepthBufferSize | ( | const CameraDepthSensor * | camera,
|  | int * | cameraBufferSize,
|  | int * | width,
|  | int * | height
| ) |  |

gives the buffer size, width and height of the given depth camera.

Remarks
  The dimensions are expressed in pixels.

CameraResolution Sim::HALInterface::cameraResolution | ( | const BaseCamera * | camera | ) | const

gives the current resolution of the given CameraSensor

float Sim::HALInterface::fetchAngleActuatorStiffness | ( | const AngleActuator * | angleActuator | ) |

returns the last stiffness value (between 0 and 1, no unit) of the given angleActuator.

Remarks
  As long as the hal executable has not been launch, this will return NaN. This allows you to know when the simulation has started and gives meaningful position at start-up.

float Sim::HALInterface::fetchAngleActuatorValue | ( | const AngleActuator * | angleActuator | ) |

returns the last command value (in radians) of the given angleActuator.

Remarks
  As long as the hal executable has not been launch, this will return NaN. This allows you to know when the simulation has started and gives meaningful position at start-up.

float Sim::HALInterface::fetchAngleSpeedActuatorStiffness | ( | const AngleSpeedActuator * | angleSpeedActuator | ) |

returns the last stiffness value (between 0 and 1, no unit) of the given angleSpeedActuator.

Remarks
  As long as the hal executable has not been launch, this will return NaN. This allows you to know when the simulation has started and gives meaningful position at start-up.

float Sim::HALInterface::fetchAngleSpeedActuatorValue | ( | const AngleSpeedActuator * | angleSpeedActuator | ) |

returns the last command value (in radians per second) of the given angleSpeedActuator.

Remarks
  As long as the hal executable has not been launch, this will return NaN. This allows you to know when the simulation has started and gives meaningful position at start-up.

float Sim::HALInterface::fetchCoupledActuatorStiffness | ( | const CoupledActuator * | coupledActuator | ) |

returns the last stiffness value (between 0 and 1, no unit) of the given coupledActuator.

Remarks
  As long as the hal executable has not been launch, this will return NaN. This allows you to know when the simulation has started and gives meaningful position at start-up.

float Sim::HALInterface::fetchCoupledActuatorValue | ( | const CoupledActuator * | coupledActuator | ) |

returns the last command value (between 0 and 1, no unit) of the given coupledActuator.

Remarks
  As long as the hal executable has not been launch, this will return NaN. This allows you to know when the simulation has started and gives meaningful position at start-up.

float Sim::HALInterface::fetchLEDActuatorValue | ( | const LEDActuator * | ledActuator | ) |

returns the last command value (between 0 and 1) of the given ledActuator.

Remarks
  As long as the hal executable has not been launch, this will return Nan.

float Sim::HALInterface::fetchTorqueActuatorStiffness | ( | const TorqueActuator * | torqueActuator | ) |

returns the last stiffness value (between 0 and 1, no unit) of the given torqueActuator.

Remarks
  As long as the hal executable has not been launch, this will return NaN. This allows you to know when the simulation has started and gives meaningful position at start-up.

float Sim::HALInterface::fetchTorqueActuatorValue | ( | const TorqueActuator * | torqueActuator | ) |

returns the last command value (in Newton per meter) of the given torqueActuator.

Remarks
  As long as the hal executable has not been launch, this will return NaN. This allows you to know when the simulation has started and gives meaningful position at start-up.

float Sim::HALInterface::fetchWheelTorqueActuatorStiffness | ( | const WheelTorqueActuator * | wheelTorqueActuator | ) |

returns the last stiffness value (between 0 and 1, no unit) of the given wheelTorqueActuator.

Remarks
  As long as the hal executable has not been launch, this will return NaN. This allows you to know when the simulation has started and gives meaningful position at start-up.

float Sim::HALInterface::fetchWheelTorqueActuatorValue | ( | const WheelTorqueActuator * | wheelTorqueActuator | ) |

returns the last command value (in Newton per meter) of the given wheelTorqueActuator.

Remarks
  As long as the hal executable has not been launch, this will return NaN. This allows you to know when the simulation has started and gives meaningful position at start-up.

float Sim::HALInterface::fetchWheelVelocityActuatorStiffness | ( | const WheelVelocityActuator * | wheelVelocityActuator | ) |

returns the last stiffness value (between 0 and 1, no unit) of the given wheelVelocityActuator.

Remarks
  As long as the hal executable has not been launch, this will return NaN. This allows you to know when the simulation has started and gives meaningful position at start-up.

float Sim::HALInterface::fetchWheelVelocityActuatorValue | ( | const WheelVelocityActuator * | wheelVelocityActuator | ) |

returns the last command value (in radians per second) of the given wheelVelocityActuator.

Remarks
  As long as the hal executable has not been launch, this will return NaN. This allows you to know when the simulation has started and gives meaningful position at start-up.

bool Sim::HALInterface::sendAngleSensorValue | ( | const AngleSensor * | angleSensor,
|  | float | value
| ) |  |

sends value (in radians) to the given angleSensor.

bool Sim::HALInterface::sendAngleSpeedSensorValue | ( | const AngleSpeedSensor * | angleSpeedSensor,
|  | float | value
| ) |  |

sends value in radians per second to the given angleSpeedSensor.

bool Sim::HALInterface::sendArrayDepthSensorValues | ( | const ArrayDepthSensor * | arrayDepthSensor,
|  | const std::vector< float > & | values
| ) |  |

sends values in meters to the given arrayDepthSensor

bool Sim::HALInterface::sendBumperSensorValue | ( | const BumperSensor * | bumperSensor,
|  | float | value
| ) |  |

sends value (between 0 and 1, no unit) to the given bumperSensor.

bool Sim::HALInterface::sendCameraDepthSensorValue | ( | const CameraDepthSensor * | cameraDepthSensor,
|  | const float * | buffer
| ) |  |

sends the content of the buffer depth to the given cameraDepthSensor.

Remarks
  The depth map contained in buffer has a size given by cameraDepthSensorBufferSize. Each value defines in float the depth of pixel in meters.

Deprecated:
  since 1.18, use sendDepthCameraSensorValue with CameraResolution and CameraColorSpace instead.

bool Sim::HALInterface::sendCameraDepthSensorValue | ( | const CameraDepthSensor * | cameraDepthSensor,
|  | const float * | buffer,
|  | CameraResolution | camResolution,
|  | CameraColorSpace | camColorSpace
| ) |  |

sends the content of the buffer depth to the given cameraDepthSensor.

- camResolution is the resolution of the buffer sent
- camColorSpace is the color space of the buffer sent

bool Sim::HALInterface::sendCameraSensorValue | ( | const CameraSensor * | cameraSensor,
|  | const unsigned char * | img
| ) |  |

sends the content of the buffer img to the given cameraSensor

Remarks
  The image contained in img can be of different sizes: 160 * 120, 320 * 240 or 640 * 480 and is defined in RGB.

Deprecated:
  since 1.18, use sendCameraSensorValue with CameraResolution and CameraColorSpace instead.

bool Sim::HALInterface::sendCameraSensorValue | ( | const CameraSensor * | cameraSensor,
|  | const unsigned char * | img,
|  | CameraResolution | camResolution,
|  | CameraColorSpace | camColorSpace
| ) |  |

sends the content of the buffer img to the given cameraSensor

- camResolution is the resolution of the buffer sent
- camColorSpace is the color space of the buffer sent

bool Sim::HALInterface::sendCoupledSensorValue | ( | const CoupledSensor * | coupledSensor,
|  | float | value
| ) |  |

sends value (between 0 and 1, no unit) to the given coupledSensor.

bool Sim::HALInterface::sendDepthInfraredSensorValue | ( | const DepthInfraredSensor * | depthInfraredSensor,
|  | float | value
| ) |  |

sends value (in meters) to the given DepthInfraredSensor.

Deprecated:
  use sendSingleDepthSensor instead.

bool Sim::HALInterface::sendFSRSensorValue | ( | const FSRSensor * | fsrSensor,
|  | float | value
| ) |  |

sends value (in kilograms) to the given fsrSensor.

bool Sim::HALInterface::sendInertialSensorValues | ( | const InertialSensor * | inertialSensor,
|  | const std::vector< float > & | values
| ) |  |

sends values (see remarks) to the given inertialSensor.

Remarks
  The values that you have to provide to this method are in the following order: orientation around x-axis and y-axis (in radians), accelerations along x-axis x, y-axis and z-axis (in meter per second squared), and rotational speed around x-axis and y-axis (in radian per second). For more details about the position and orientation of the axis, see the sensors Section of the Hardware documentation.

bool Sim::HALInterface::sendSingleDepthSensorValue | ( | const SingleDepthSensor * | singleDepthSensor,
|  | float | value
| ) |  |

sends value (in meters) to the given SingleDepthSensor.

bool Sim::HALInterface::sendSonarSensorValue | ( | const SonarSensor * | sonarSensor,
|  | float | value
| ) |  |

sends value in meters to the given sonarSensor (see remarks).

Remarks
  if you use this method on a SonarSensor value that has a buffer size of 1, the space left in the array will be filled with 0s.

bool Sim::HALInterface::sendSonarSensorValues | ( | const SonarSensor * | sonarSensor,
|  | const std::vector< float > & | values
| ) |  |

sends values in meters to the given sonarSensor (see remarks).

Remarks
  10 values can be associated to a SonarSensor if it has a buffer size of 10 floats. These are the echoes received by the sonar, from the pulse signal sent by the emitter, which consists in a cone of nearly 80°. Currently only the first echo is taken into account by NAOqi, so you can fill in only the first value. You should not use this method on a sonar that has a buffer size of 1 float, but if you do, only the first value will be taken into account. In 1.12, concerning NAO the emitting sonars (1 and 3) were detected as sensors in the model, this is not the case anymore, they are not taken into account.

bool Sim::HALInterface::sendTactileSensorValue | ( | const TactileSensor * | tactileSensor,
|  | float | value
| ) |  |

sends value (between 0 and 1, no unit) to the given tactileSensor.

bool Sim::HALInterface::sendTorqueSensorValue | ( | const TorqueSensor * | torqueSensor,
|  | float | value
| ) |  |

sends value in Newton per meter to the given torqueSensor.

bool Sim::HALInterface::sendWheelVelocitySensorValue | ( | const WheelVelocitySensor * | wheelVelocitySensor,
|  | float | value
| ) |  |

sends value in radians per second to the given wheelVelocitySensor.

## Member Data Documentation

class HALInterfaceImpl* Sim::HALInterface::a_impl

Private implementation.

Definition at line 290 of file alnaosim.h.

The documentation for this class was generated from the following file:

- /home/opennao/work/release-2.8/simulation/simulator-sdk/alnaosim/alnaosim/alnaosim.h