# SoftBank Robotics documentation What's new in NAOqi 2.8?

# Push Recovery API

ALMotion - Overview | API

Pepper only

Namespace : AL

    #include <alproxies/almotionproxy.h>

## Method list

- `ALMotionProxy::setPushRecoveryEnabled`
- `ALMotionProxy::getPushRecoveryEnabled`

## Event list

- `ALMotion/Safety/PushRecovery()`
- `ALMotion/RobotPushed()`

## Methods

void `ALMotionProxy::``setPushRecoveryEnabled`(const bool& enable)

  Enable/disable the push-recovery reflex of the robot, but only if allowed by the owner. If not allowed, an exception is thrown.

  For further details, see: Deactivation of safety reflexes.

  Parameters: | enable – Activate or deactivate the push recovery.

bool `ALMotionProxy::``getPushRecoveryEnabled`(void)

  Allow to know if the push recovery protection is activated.

  Returns: | Return true if the push recovery protection is activated.

## Events

Event: `"ALMotion/Safety/PushRecovery"`
callback(std::string eventName, AL::ALValue val, std::string subscriberIdentifier)

  Raised when push recovery is activated and the robot try to compensate the tilt.

  Parameters: | eventName (std::string) – “ALMotion/Safety/PushRecovery” val – [angle] angle in radian of perturbation direction in FRAME_ROBOT. subscriberIdentifier (std::string) –

Event: `"ALMotion/RobotPushed"`
callback(std::string eventName, AL::ALValue val, std::string subscriberIdentifier)

  Raised when robot is pushed.

  Parameters: | eventName (std::string) – “ALMotion/RobotPushed” val – [angle, intensity] angle in radian of perturbation direction in FRAME_ROBOT and intensity of the detected push. The intensity is expressed as the estimated mechanical energy (in joules) transmitted to the robot base. For reference, ALMotion will start to actively recover from a push when this intensity is around 1.5 J. Above 7 J, the robot will most likely not be able to recover from the perturbation and will fall. subscriberIdentifier (std::string) –

Glossary Site map Index Support Contact Legal Notices