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::getUseTrackerSearcher
ALRechargeProxy::setUseTrackerSearcher
ALRechargeProxy::setMaxNumberOfTries
ALRechargeProxy::getMaxNumberOfTries
Deprecated Methods
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. his 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.
-
qi::Future<int>
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
.Returns: a future that will be updated with the final Error code. 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
()¶ Deprecated since version 2.5: This call may not operate during critical operation like docking or undocking.
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 his 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 his charging station.
-
Event:callback(std::string eventName, std::string subscriberIdentifier)¶
"ALRecharge/LeaveFailed"
Raised when Pepper failed to leave his charging station 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 his 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 his 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 his 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 his charging station |
2 | Going in front of his charging station |
3 | Docking onto his charging station |
4 | An error has been detected during the process |
5 | “Subscribed” meaning that ALRecharge is listening to charging station detection events and updates the charging station pose. Used for testing |
6 | Pepper is leaving his charging 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 his 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 |
11 | The docking process has been aborted, as the charging station appears to be slanted |
12 | Pepper did not manage to connect to his station nor to move away from it, thus being in an unsafe position possibly partly on the charging station |