动态负载管理
更多...
#include <payload_contribution_model.h>
|
| | PayloadContributionModel (PayloadContributionModel &f) |
| | PayloadContributionModel (PayloadContributionModel &&f) |
| | ~PayloadContributionModel () |
| PayloadPtr | addPayload (const std::string &id_key, const std::string &suggested_name, double mass, const std::vector< double > ¢er_of_gravity) |
| | Payload
|
| PayloadPtr | addPayload (const std::string &id_key, const std::string &suggested_name, double mass, const std::vector< double > ¢er_of_gravity, const std::vector< double > &inertiaMatrix) |
| | Payload
|
| PayloadPtr | getPayload (const std::string &id_key) |
| | Payload 返回此前由此AuboCap使用相同idKey标识符添加的负载。使用此方法验证 负载是否存在于当前安装中。
|
| void | updatePayload (const std::string &id_key, double mass, const std::vector< double > ¢er_of_gravity) |
| | Payload
|
| void | updatePayload (const std::string id_key, double mass, const std::vector< double > ¢er_of_gravity, const std::vector< double > &inertia_matrix) |
| | 更新此AuboCap已添加负载的质量、重心(CoG)和惯性矩阵。
|
| void | removePayload (const std::string &id_key) |
| | 从此AuboCap中移除已添加的负载。使用该负载的程序节点将变为未定义状态,因为负载 不再可解析。
|
◆ PayloadContributionModel() [1/3]
| arcs::aubo_scope::PayloadContributionModel::PayloadContributionModel |
( |
PayloadContributionModel & | f | ) |
|
◆ PayloadContributionModel() [2/3]
| arcs::aubo_scope::PayloadContributionModel::PayloadContributionModel |
( |
PayloadContributionModel && | f | ) |
|
◆ ~PayloadContributionModel()
| arcs::aubo_scope::PayloadContributionModel::~PayloadContributionModel |
( |
| ) |
|
◆ PayloadContributionModel() [3/3]
| arcs::aubo_scope::PayloadContributionModel::PayloadContributionModel |
( |
| ) |
|
|
private |
◆ addPayload() [1/2]
| PayloadPtr arcs::aubo_scope::PayloadContributionModel::addPayload |
( |
const std::string & | id_key, |
|
|
const std::string & | suggested_name, |
|
|
double | mass, |
|
|
const std::vector< double > & | center_of_gravity ) |
◆ addPayload() [2/2]
| PayloadPtr arcs::aubo_scope::PayloadContributionModel::addPayload |
( |
const std::string & | id_key, |
|
|
const std::string & | suggested_name, |
|
|
double | mass, |
|
|
const std::vector< double > & | center_of_gravity, |
|
|
const std::vector< double > & | inertiaMatrix ) |
Payload
向AuboScope的当前安装中添加一个包含惯性矩阵的负载。
添加后终端用户可选择该负载,其他AuboCap贡献(通过PayloadModel接口)也可 使用。该负载不可被终端用户或其他aubo_studio插件修改。
如果没有负载惯性矩阵的数据,请改用addPayload(String, String, Mass,
Position, InertiaMatrix)方法。
注意:指定的负载质量必须是连接到机器人工具输出法兰的负载总质量。
负载质量和重心坐标(CoG)的有效范围可通过RobotLimits接口获取,该接口 可通过RobotModel#getRobotLimits()访问。
- 参数
-
| idKey | 用于标识此负载的键,不可为null或空字符串。该键仅对 此AuboCap有效。 |
| suggestedName | 建议的负载名称,不可为null或空字符串。 |
| mass | 负载总质量,不可为null。 |
| centerOfGravity | 负载的重心(CoG),不可为null。 |
| inertiaMatrix | 负载的惯性矩阵,定义在以负载重心为中心的坐标系中,坐标轴与 工具输出法兰坐标系对齐。不可为null。 |
- 返回
- 在AuboScope中创建并注册的负载。
- 异常
-
| PayloadAlreadyAddedException | 如果之前已使用相同的idKey标 识符添加过负载。 |
| IllegalPayloadNameException | 如果建议的名称不匹配所需的正则表达式。 |
| IllegalMassException | 如果指定的质量不在有效范围内。 |
| IllegalCenterOfGravityException | 如果指定重心的任何值不在有效范围内。 |
| IllegalInertiaMatrixException | 如果指定惯性矩阵的任何值不在有效范围内。 |
◆ getPayload()
| PayloadPtr arcs::aubo_scope::PayloadContributionModel::getPayload |
( |
const std::string & | id_key | ) |
|
Payload 返回此前由此AuboCap使用相同idKey标识符添加的负载。使用此方法验证 负载是否存在于当前安装中。
- 参数
-
| idKey | 用于标识此负载的键,不可为null或空字符串。 |
- 返回
- 此前由此AuboCap添加的负载。如果当前安装中不存在(指定
idKey 标识符的)负载,则返回null。
◆ removePayload()
| void arcs::aubo_scope::PayloadContributionModel::removePayload |
( |
const std::string & | id_key | ) |
|
从此AuboCap中移除已添加的负载。使用该负载的程序节点将变为未定义状态,因为负载 不再可解析。
- 参数
-
| idKey | 添加负载时使用的标识符键,不可为null或空字符串。 |
- 异常
-
| PayloadNotFoundException | 如果当前安装中不存在对应idKey 标识符的负载。 |
◆ updatePayload() [1/2]
| void arcs::aubo_scope::PayloadContributionModel::updatePayload |
( |
const std::string & | id_key, |
|
|
double | mass, |
|
|
const std::vector< double > & | center_of_gravity ) |
Payload
更新此AuboCap已添加负载的质量和重心(CoG)。
注意:如果已为负载指定了惯性矩阵,调用此方法将用基于新的负载质量和重心 计算的默认估算值替换(覆盖)它。为避免覆盖现有惯性矩阵(或更新现有惯性矩阵), 请改用updatePayload(String, Mass, Position, InertiaMatrix)方法。
- 参数
-
- 异常
-
| PayloadNotFoundException | 如果当前安装中不存在对应idKey 标识符的负载。 |
| IllegalMassException | 如果指定的质量不在AuboScope定义的有效范围内。 |
| IllegalCenterOfGravityException | 如果指定重心的任何值不在有效范围内。 |
◆ updatePayload() [2/2]
| void arcs::aubo_scope::PayloadContributionModel::updatePayload |
( |
const std::string | id_key, |
|
|
double | mass, |
|
|
const std::vector< double > & | center_of_gravity, |
|
|
const std::vector< double > & | inertia_matrix ) |
更新此AuboCap已添加负载的质量、重心(CoG)和惯性矩阵。
- 参数
-
- 异常
-
| PayloadNotFoundException | 如果当前安装中不存在对应idKey 标识符的负载。 |
| IllegalMassException | 如果指定的质量不在有效范围内。 |
| IllegalCenterOfGravityException | 如果指定重心的任何值不在有效范围内。 |
| IllegalInertiaMatrixException | 如果指定惯性矩阵的任何值不在有效范围内。 |
◆ DataSwitch
◆ d_
| void* arcs::aubo_scope::PayloadContributionModel::d_ { nullptr } |
|
private |
该类的文档由以下文件生成: