NAOqi Sensors - Overview | API
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:
ALBodyTemperature retrieves temperature information from the CPU hardware and publish it in ALMemory key: Device/SubDeviceList/Head/Temperature/Sensor/Value.
For further details, see: CPU.
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: notif_warning_diagnosis.
The notification can be disabled using ALBodyTemperatureProxy::setEnableNotifications()
ALBodyTemperature generates a diagnosis based on the Temperature status but with a threshold as shown on the figure below:
Result
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 - Actuator & Sensor list.
A summary of the temperature diagnosis is available using ALBodyTemperatureProxy::getTemperatureDiagnosis()
Effect
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.
It allows you to be notified if the temperature of a joint reaches the limit triggering an automatic limitation of the Stiffness.