ALRecharge API¶
Overview | API
Pepper only
Namespace : AL
#include <alproxies/alnotificationmanagerproxy.h>
Method list¶
ALRechargeProxy::lookForStation
ALRechargeProxy::moveInFrontOfStation
ALRechargeProxy::dockOnStation
ALRechargeProxy::adjustDockingPosition
ALRechargeProxy::goToStation
ALRechargeProxy::leaveStation
ALRechargeProxy::getStatus
ALRechargeProxy::getStationPosition
ALRechargeProxy::stopAll
ALRechargeProxy::getUseTrackerSearcher
ALRechargeProxy::setUseTrackerSearcher
ALRechargeProxy::setMaxNumberOfTries
ALRechargeProxy::getMaxNumberOfTries
Event list¶
ALRecharge/StatusChanged()
ALRecharge/StationDetected()
ALRecharge/StationNotFound()
ALRecharge/ConnectedToChargingStation()
ALRecharge/CloseToChargingStation()
ALRecharge/DockingSuccess()
ALRecharge/DockingFailed()
ALRecharge/LeaveSuccess()
ALRecharge/LeaveFailed()
ALRecharge/SearchStopped()
ALRecharge/DockingBackwardStarted()
ALRecharge/DockingUTurnStarted()
ALRecharge/MoveFailed()
Methods¶
-
AL::ALValue
ALRechargeProxy::
lookForStation
()¶ Tries to locate the charging station. This is a blocking call.
Pepper looks for his charging station all around him and localizes it.
360 ° search process: Pepper scans 180° in front of him, then 2 times, Pepper rotates on himself through 120° and scans.
The Status is set to Idle right before this method returns.
Returns: [int error_code, [float x, float y, float theta]] where error_code returns the error of the call (see Error code). It is 0 if the charging station has been successfully localized. Its position is then given in FRAME_WORLD in the second array (x,y,theta).
-
int
ALRechargeProxy::
moveInFrontOfStation
()¶ Makes Pepper go in front of his charging station. This is a blocking call.
Pepper goes in front of his charging station to prepare docking using ALTracker.
If the charging station has not been found already, this method will return the corresponding error code. The Status is set to Idle right before this method returns.
Returns: an Error code corresponding to the situation.
-
int
ALRechargeProxy::
dockOnStation
()¶ Makes Pepper dock onto his charging station. This is a blocking call.
Pepper performs a U-turn and enters his charging station in a backward motion.
If the charging station has not been found already, or if the charging station is not close to his desired position in front of Pepper, this method will return the corresponding error code. If Pepper is not close to his desired position in front of the robot, this method will return False.
Upon success, this method forbids all motion moves while the robot is on the charging station. The Status is set to Idle right before this method returns.
Returns: an Error code correspondig to the situation.
-
int
ALRechargeProxy::
adjustDockingPosition
(std::vector<std::vector<float>> positions)¶ Makes Pepper move onto his charging station to ensure working connection. This is a blocking call.
Parameters: - positions – The robot performs successively the moveTo commands defined by this vector of Pose2D(x, y, theta).
Upon success, this method forbids all motion moves while Pepper is on the charging station. The Status is set to Idle right before this method returns.
Returns: an Error code corresponding to the situation.
-
void
ALRechargeProxy::
goToStation
()¶ Makes Pepper go onto his charging station.
This method calls successfully
ALRechargeProxy::lookForStation
,ALRechargeProxy::moveInFrontOfStation
andALRechargeProxy::dockOnStation
without interruption. This is a non blocking call.This behavior can be monitored using
ALRechargeProxy::getStatus
.Upon success, this method forbids all motion moves while Pepper is on the charging station.
-
int
ALRechargeProxy::
leaveStation
()¶ If Pepper is on the charging station, this method makes Pepper go just in front of it.
Upon success, this function allows all motion moves. The Status is set to Idle right before this method returns.
Returns: an Error code corresponding to the situation.
-
int
ALRechargeProxy::
getStatus
()¶ Get the current Status of the recharge manager module.
Returns: Int representing the Status.
-
std::vector<float>
ALRechargeProxy::
getStationPosition
()¶ Get the current charging pose2D used by the recharge module.
Returns: Pose2D (x, y, theta) of the charging station in FRAME_WORLD
-
void
ALRechargeProxy::
stopAll
()¶ Request to stop the current behavior. This will stop the Tracker and all ongoing moves. This resets the Status to Idle.
-
bool
ALRechargeProxy::
getUseTrackerSearcher
()¶ Returns: true if the ALRechargeProxy::lookForStation
uses the whole body tracker animation from ALTracker during search and else returns false.
-
void
ALRechargeProxy::
setUseTrackerSearcher
(bool enable)¶ Sets default or custom animation to be used upon call of
ALRechargeProxy::lookForStation
.Parameters: - enable – If true, during search, Pepper uses the whole body tracker animation from ALTracker. Otherwise a custom animation can be used.
-
void
ALRechargeProxy::
setMaxNumberOfTries
(int number)¶ Sets the number of attempts authorized during
ALRechargeProxy::moveInFrontOfStation
before returning failure error code.Parameters: - number – Number of attempts stricly superior to zero.
-
int
ALRechargeProxy::
getMaxNumberOfTries
()¶ Returns: returns the number of attempts authorized during ALRechargeProxy::moveInFrontOfStation
before failing.
Events¶
-
Event:callback(std::string eventName, int status, std::string subscriberIdentifier)¶
"ALRecharge/StatusChanged"
Raised when the ALRecharge Status changes.
Parameters: - eventName (std::string) – “ALRecharge/StatusChanged”
- status – new Status.
- subscriberIdentifier (std::string) –
-
Event:callback(std::string eventName, AL::ALValue plugged, std::string subscriberIdentifier)¶
"ALRecharge/StationDetected"
Raised when Pepper detects its charging station with a confidence index higher than 0.5.
Parameters: - eventName (std::string) – “ALRecharge/StationDetected”
- plugged – data needed by ALTracker for charging station tracking.
- subscriberIdentifier (std::string) –
-
Event:callback(std::string eventName, std::string subscriberIdentifier)¶
"ALRecharge/StationNotFound"
Raised when Pepper has not found the charging station. It then stops the search.
-
Event:callback(std::string eventName, std::string subscriberIdentifier)¶
"ALRecharge/ConnectedToChargingStation"
Raised when Pepper is correctly docked onto the charging station.
-
Event:callback(std::string eventName, std::string subscriberIdentifier)¶
"ALRecharge/DockingSuccess"
Raised when Pepper has successfully docked onto the charging station.
-
Event:callback(std::string eventName, std::string subscriberIdentifier)¶
"ALRecharge/DockingFailed"
Raised when Pepper failed to dock onto the charging station during the final step.
-
Event:callback(std::string eventName, std::string subscriberIdentifier)¶
"ALRecharge/LeaveSuccess"
Raised when Pepper correctly left its pod.
-
Event:callback(std::string eventName, std::string subscriberIdentifier)¶
"ALRecharge/LeaveFailed"
Raised when Pepper failed to leave its pod due to an obstacle in the way.
-
Event:callback(std::string eventName, std::string subscriberIdentifier)¶
"ALRecharge/SearchStopped"
Raised when Pepper stops the search and goes back to idle Status.
-
Event:callback(std::string eventName, std::string subscriberIdentifier)¶
"ALRecharge/MoveFailed"
Raised when Pepper interrupts its operation because a safety rule prevents the usage of ALMotion module.
-
Event:callback(std::string eventName, float angle, std::string subscriberIdentifier)¶
"ALRecharge/DockingUTurnStarted"
Raised when Pepper starts its UTurn motion during docking step.
Parameters: - eventName (std::string) – “ALRecharge/DockingUTurnStarted”
- angle – Angle of rotation in radians made by Pepper to prepare entering the charging station.
- subscriberIdentifier (std::string) –
-
Event:callback(std::string eventName, std::string subscriberIdentifier)¶
"ALRecharge/DockingBackwardStarted"
Raised when Pepper starts its backward motion during docking step.
-
Event:callback(std::string eventName, std::string subscriberIdentifier)¶
"ALRecharge/CloseToChargingStation"
Raised when ALRecharge forbids all wheel motions, because Pepper is too close from the charging station. When Pepper is put away from the charging station, the wheel motions are enabled back and this event raised with False.
Status¶
Value | Meaning |
---|---|
0 | Idle |
1 | Looking for its charging station |
2 | Going in front of its charging station |
3 | Docking onto its charging station |
4 | An error as occurred during the process |
5 | The robot is passively detecting the station Mode used for testing |
6 | Leaving the station |
Error code¶
Value | Meaning |
---|---|
0 | OK |
1 | Safety issue |
2 | Charging station not found |
3 | Pepper on charging station |
4 | No charging station hypothesis |
5 | Proxy call failed |
6 | Not connected but Pepper touched the connectors or the slope pattern seems right during the backward move |
7 | Not connected, Pepper did not touch the connectors during its move and the slope pattern does not indicate that Pepper is connected |
8 | Pepper not woken up |
9 | Pepper not in front of the station |
10 | Already going to station |