ALWavingDetection API¶

This module requires a robot with a 3D sensor.

Namespace : AL


#include <alproxies/alwavingdetectionproxy.h>



Method list ¶

class ALWavingDetectionProxy
• As any module, this module inherits methods from ALModule API.
• It also inherits methods from ALExtractor API.
• And has the following specific methods:

Methods ¶

float ALWavingDetectionProxy::getMaxDistance()
Returns: The current value of MaxDistance (in meters). The default value is 2.5m. Please refer to ALWavingDetection for details.
float ALWavingDetectionProxy::getMinSize()
Returns: The current value of MinSize (in meters). The default value is 0.1m. Please refer to ALWavingDetection for details.
bool ALWavingDetectionProxy::setMaxDistance(const float& distance)

Sets the value of MaxDistance. Please refer to ALWavingDetection for details.

Parameters: distance – Value of the new MaxDistance (in meters). It must be between 0.5 and 3 meters. true if the update succeeded.
bool ALWavingDetectionProxy::setMinSize(const float& size)

Sets the value of MinSize. Please refer to ALWavingDetection for details.

Parameters: size – Value of the new MinSize (in meters). It must be between 0.05 and 0.3 meter. true if the update succeeded.

Events ¶

Event: "WavingDetection/PersonWaving"
callback(std::string eventName, int id, std::string subscriberIdentifier)

Raised when someone just waved at the robot.

Parameters: eventName (std::string) – “WavingDetection/PersonWaving” id – ID of the person. subscriberIdentifier (std::string) –
Event: "WavingDetection/PersonWavingCenter"
callback(std::string eventName, int id, std::string subscriberIdentifier)

Raised when someone just waved at the robot and the waving was detected ahead of the person. The most usual case is when the person waved with one of his/hers arm, but it has not been possible to detect which arm he/she was using.

Parameters: eventName (std::string) – “WavingDetection/PersonWavingCenter” id – ID of the person. subscriberIdentifier (std::string) –
Event: "WavingDetection/PersonWavingLeft"
callback(std::string eventName, int id, std::string subscriberIdentifier)

Raised when someone just waved at the robot and the waving was detected on the left size of the person. The most usual case is when the person waved with his/her left arm.

Parameters: eventName (std::string) – “WavingDetection/PersonWavingLeft” id – ID of the person. subscriberIdentifier (std::string) –
Event: "WavingDetection/PersonWavingRight"
callback(std::string eventName, int id, std::string subscriberIdentifier)

Raised when someone just waved at the robot and the waving was detected on the right size of the person. The most usual case is when the person waved with his/her right arm.

Parameters: eventName (std::string) – “WavingDetection/PersonWavingRight” id – ID of the person. subscriberIdentifier (std::string) –

ALMemory Keys ¶

bool PeoplePerception/Person/<ID>/IsWaving

Says whether or not the person is waving at the robot. To have more information about the waving and its position with respect to the body of the person, it is possible to use the 3 next keys: IsWavingLeft, IsWavingRight and IsWavingCenter. <ID> is the ID of the person (see ALPeoplePerception API).

bool PeoplePerception/Person/<ID>/IsWavingCenter

Is set to true when some movements have been detected ahead of the body of the person. The most usual case is when the person is waving with one of his/her arms, but it has not been possible to detect which arm he/she was using. <ID> is the ID of the person (see ALPeoplePerception API).

bool PeoplePerception/Person/<ID>/IsWavingLeft

Is set to true when some movements have been detected on the left size of the person. The most usual case is when the person is waving with his/her left arm. <ID> is the ID of the person (see ALPeoplePerception API).

bool PeoplePerception/Person/<ID>/IsWavingRight

Is set to true when some movements have been detected on the right size of the person. The most usual case is when the person is waving with his/her right arm. <ID> is the ID of the person (see ALPeoplePerception API).