SoftBank Robotics documentation What's new in NAOqi 2.8?

Push Recovery API

ALMotion - Overview | API


pepp Pepper only

Namespace : AL

#include <alproxies/almotionproxy.h>

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/Safety/RobotPushed"
callback(std::string eventName, AL::ALValue val, std::string subscriberIdentifier)

Deprecated since version 2.4: use ALMotion/RobotPushed() instead.

Raised when robot is pushed.

Parameters:
  • eventName (std::string) – “ALMotion/Safety/RobotPushed”
  • 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) –