Sensor Msgs

The package nao_sensor_msgs defines msgs used to store sensory information specific to the NAO robot.

Accelerometer

_images/accelerometer.png

Units are in m/s 2

Note that gravity is measured by an accelerometer. When standing, the robot will measure 9.8 m/s 2 POSITIVE in the z-direction, since its receiving an acceleration upwards from the floor when compared to a freefall state.

float32 x  # m/s/s
float32 y  # m/s/s
float32 z  # m/s/s

Angle

_images/angle.png

Units are in rad.

An absolute angle of the torso. Both x and y are zero when upright.

float32 x  # rad
float32 y  # rad

Battery

float32 charge  # 0% - 100%
bool charging  # True if robot is getting charged
float32 current  # In Amperes, negative for discharge, positive for charge
float32 temperature  # Celcius (°C)

Buttons

bool chest  # true if being pressed
bool l_foot_bumper_left  # true if being pressed
bool l_foot_bumper_right  # true if being pressed
bool r_foot_bumper_left  # true if being pressed
bool r_foot_bumper_right  # true if being pressed

FSR

float32 l_foot_front_left  # kg
float32 l_foot_front_right  # kg
float32 l_foot_back_left  # kg
float32 l_foot_back_right  # kg
float32 r_foot_front_left  # kg
float32 r_foot_front_right  # kg
float32 r_foot_back_left  # kg
float32 r_foot_back_right  # kg

Gyroscope

_images/gyroscope.png

Units are in rad/s.

float32 x  # rad/s
float32 y  # rad/s
float32 z  # rad/s

Joints

JointCurrents

Electrical current, reported from the current sensors in each motor joint of the NAO.

float32[25] currents  # Amperes (A), in order of JointIndexes.msg

JointPositions

Joint positions of each motor joint.

# An array of joint positions, corresponding to their indexes in the JointIndexes.msg.

float32[25] positions # radians

JointStatuses

Temperature status enums, computed accordingly to the temperature limitation to protect the motors.

int32 STATUS_NORMAL=0          # normal
int32 STATUS_HOT=1             # high, start to reduce stiffness
int32 STATUS_VERY_HOT=2        # very hot, stiffness reduced over 30%
int32 STATUS_CRITICALLY_HOT=3  # critically hot, stiffness is set to 0

int32[25] statuses  # Status codes, in order of JointIndexes.msg

JointStiffnesses

Joint stiffnesses in each motor joint.

# An array of joint stiffnesses, corresponding to their indexes in the JointIndexes.msg.

float32[25] stiffnesses  # 0.0 - 1.0

JointTemperatures

Temperature reported for each motor joint in the NAO.

Tip

The motor temperature is a simulated one, using electric current value of the motor. The motor board implements a temperature limitation to protect the motor. The temperature limitation depends on robot version.

float32[25] temperatures  # Celcius (°C), in order of JointIndexes.msg

RobotConfig

string body_id  # eg."P0000073A07S94700012"
string body_version  # eg. "6.0.0"
string head_id  # eg. "P0000074A05S93M00061"
string head_version  # eg. "6.0.0"

Sonar

Sonar distance measurements.

float32 left  # m
float32 right  # m

Touch

bool head_front  # true if being touched
bool head_middle  # true if being touched
bool head_rear  # true if being touched