NAOqi Sensors & LEDs - Overview | API

What it does

ALBodyTemperature is responsible for raising events when some part of the hardware, able to overheat, has reach a concerning level of temperature.

It could be:

  • Joints or Actuators,
  • CPU,
  • Battery.

How it works

CPU - Temperature

ALBodyTemperature retrieves temperature information from the CPU hardware and publish it in ALMemory key : Device/SubDeviceList/Head/Temperature/Sensor/Value.

For further details, see: nao CPU .

Joint, Actuator and Battery Temperature

ALBodyTemperature retrieves temperature information from the Temperature status of the Joints, the Actuators, and the Battery. If at least one of item has a non null status, an HotDeviceDetected() event is raised.

For further details about the temperature automatic limitation, see: Temperature status .


If one Joint, one Actuator or the battery is hot (non null Temperature status ), a notification is sent.

For further details about the temperature notification, see: nao Diagnosis - NAO , or pepp Diagnosis - Pepper .

The notification can be disabled using ALBodyTemperatureProxy::setEnableNotifications

Temperature Diagnosis

ALBodyTemperature generates a diagnosis based on the Temperature status but with a threshold as shown on the figure below:


Based on this diagnosis, ALMemory error keys are updated for each joint or actuator, the key format is: Diagnosis/Temperature/ JointName /Error. For further details see Diagnosis keys in: nao Diagnosis key list or pepp Diagnosis key list .

A summary of the temperature diagnosis is available using ALBodyTemperatureProxy::getTemperatureDiagnosis


This temperature diagnosis has the same behavior than the passive diagnosis (see ALDiagnosis ) and if the Level of failure severity requires it, ALMotion module reacts in order to protect the robot and the user.

For further details about the motion diagnosis reflexes, see: Diagnosis effect .

Use Cases

It allows you to be notified if the temperature of a joint reaches the limit triggering an automatic limitation of the Stiffness .