AuboCaps
0.6.0
|
#include <payload.h>
Public Types | |
enum | ParametersWarning { NO_WARNING, MASS_0KG, RATED_MASS_EXCEEDED, MASS_AND_CENTER_OF_GRAVITY_EXCEEDED } |
Public Member Functions | |
Payload (Payload &f) | |
Payload (Payload &&f) | |
~Payload () | |
double | getMass () const |
std::vector< double > | getCenterOfGravity () const |
Gets the payload's center of gravity (CoG), also referred to as center of mass. More... | |
std::vector< double > | getInertiaMatrix () const |
std::string | getDisplayName () const |
bool | isResolvable () |
bool | isUsable () |
ParametersWarning | getParametersWarning () |
size_t | hashCode () |
Private Member Functions | |
Payload () | |
Private Attributes | |
void * | d_ { nullptr } |
Friends | |
class | DataSwitch |
This enum represents the different types of warnings that the parameters of a payload can have.
A payload can be usable, but may have a value for a payload parameter or may have a combination of (some of the) payload parameters, that could affect performance of the robot, if the payload is used (i.e., if the parameters are applied).
arcs::aubo_scope::Payload::Payload | ( | Payload & | f | ) |
arcs::aubo_scope::Payload::Payload | ( | Payload && | f | ) |
arcs::aubo_scope::Payload::~Payload | ( | ) |
|
private |
std::vector<double> arcs::aubo_scope::Payload::getCenterOfGravity | ( | ) | const |
Gets the payload's center of gravity (CoG), also referred to as center of mass.
It is defined as the offset between the center of the tool output flange and the center of gravity of the attached payload.
std::string arcs::aubo_scope::Payload::getDisplayName | ( | ) | const |
Gets the name of the payload displayed in the AuboScope UI.
Note: The payload can change name at any time, and thus the name must not be used to uniquely identify a specific payload. The payload name can change in the following situations:
std::vector<double> arcs::aubo_scope::Payload::getInertiaMatrix | ( | ) | const |
Gets the inertia matrix of the payload. The inertia matrix is defined in a coordinate system with center at the payload's center of gravity (CoG) and the axes aligned with the tool output flange coordinate system (axes).
Note: The inertia matrix specified by the end user can be invalid. The isUsable method can be used determine, if the payload can be used (i.e., has a valid inertia matrix).
double arcs::aubo_scope::Payload::getMass | ( | ) | const |
ParametersWarning arcs::aubo_scope::Payload::getParametersWarning | ( | ) |
Use this method to check if the parameters of this payload have any warnings.
A payload can be usable, but may have a value for a payload parameter or may have a combination of (some of the) payload parameters, that could affect performance of the robot, if the payload is used (i.e., if the parameters are applied).
An unresolvable payload (see isResolvable()) will have no warning for its parameters (i.e. ParametersWarning#NO_WARNING is returned).
size_t arcs::aubo_scope::Payload::hashCode | ( | ) |
bool arcs::aubo_scope::Payload::isResolvable | ( | ) |
A payload cannot be guaranteed to be present in AuboScope. This method can be used to determine, if the payload is present.
The payload will not be present, if the end user loads a different installation which does not contain the payload, or if the payload is removed by the end user or the AuboCap that added the payload.
Note: Storing an undefined payload in a program node contribution's (a ProgramNodeContribution instance) data model (DataModel interface) will automatically make the program node (and the program) undefined.
true
if this payload is present in AuboScope, otherwise false
. bool arcs::aubo_scope::Payload::isUsable | ( | ) |
Use this method to determine if the payload can be used. An unresolvable payload (see the isResolvable method) will always be unusable.
A payload can have an invalid inertia matrix, where all the individual values of the matrix are within the valid range, but the combination of values is invalid.
Note: Storing an unusable payload in a program node contribution's (a ProgramNodeContribution instance) data model (DataModel interface) will automatically make the program node (and the program) undefined.
true
, if the payload is usable, otherwise false
. false
will always be returned when the payload is unresolvable (see the isResolvable method).