Sensor Msgs


This package is deprecated as of ROS 2 J-turtle (and ROS 2 Rolling). A drop-in replacement for the interface packages are provided by the Nao LoLA repository, please use that instead.

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



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



Units are in rad.

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

float32 x  # rad
float32 y  # rad


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)


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


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



Units are in rad/s.

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



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

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


Joint positions of each motor joint.

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

float32[25] positions # radians


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


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


Temperature reported for each motor joint in the NAO.


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


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 distance measurements.

float32 left  # m
float32 right  # m


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