4 #ifndef AUBO_SDK_MATH_INTERFACE_H 5 #define AUBO_SDK_MATH_INTERFACE_H 11 #include <aubo/global_config.h> 14 namespace common_interface {
60 std::vector<double> poseAdd(
const std::vector<double> &p1,
61 const std::vector<double> &p2);
92 std::vector<double> poseSub(
const std::vector<double> &p1,
93 const std::vector<double> &p2);
122 std::vector<double> interpolatePose(
const std::vector<double> &p1,
123 const std::vector<double> &p2,
181 std::vector<double> poseTrans(
const std::vector<double> &pose_from,
182 const std::vector<double> &pose_from_to);
210 std::vector<double> poseTransInv(
const std::vector<double> &pose_from,
211 const std::vector<double> &pose_to_from);
238 std::vector<double> poseInverse(
const std::vector<double> &pose);
255 double poseDistance(
const std::vector<double> &p1,
256 const std::vector<double> &p2);
265 double poseAngleDistance(
const std::vector<double> &p1,
267 const std::vector<double> &p2);
285 bool poseEqual(
const std::vector<double> &p1,
const std::vector<double> &p2,
303 std::vector<double> transferRefFrame(
const std::vector<double> &F_b_a_old,
321 std::vector<double> poseRotation(
const std::vector<double> &pose,
322 const std::vector<double> &rotv);
344 std::vector<double> rpyToQuaternion(
const std::vector<double> &rpy);
366 std::vector<double> quaternionToRpy(
const std::vector<double> &quat);
386 const std::vector<std::vector<double>> &poses);
410 const std::vector<std::vector<double>> &poses,
int type);
432 ResultWithErrno calculateCircleFourthPoint(
const std::vector<double> &p1,
433 const std::vector<double> &p2,
434 const std::vector<double> &p3,
443 std::vector<double> forceTrans(
const std::vector<double> &pose_a_in_b,
444 const std::vector<double> &force_in_a);
454 std::vector<double> getDeltaPoseBySensorDistance(
455 const std::vector<double> &distances,
double position,
double radius,
464 std::vector<double> deltaPoseTrans(
const std::vector<double> &pose_a_in_b,
465 const std::vector<double> &ft_in_a);
473 std::vector<double> deltaPoseAdd(
const std::vector<double> &pose_a_in_b,
474 const std::vector<double> &v_in_b);
482 #define Math_DECLARES \ 483 _FUNC(Math, 2, poseAdd, p1, p2) \ 484 _FUNC(Math, 2, poseSub, p1, p2) \ 485 _FUNC(Math, 3, interpolatePose, p1, p2, alpha) \ 486 _FUNC(Math, 2, poseTrans, pose_from, pose_from_to) \ 487 _FUNC(Math, 2, poseTransInv, pose_from, pose_to_from) \ 488 _FUNC(Math, 1, poseInverse, pose) \ 489 _FUNC(Math, 2, poseDistance, p1, p2) \ 490 _FUNC(Math, 2, poseAngleDistance, p1, p2) \ 491 _FUNC(Math, 3, poseEqual, p1, p2, eps) \ 492 _FUNC(Math, 3, transferRefFrame, F_b_a_old, V_in_a, type) \ 493 _FUNC(Math, 2, poseRotation, pose, rotv) \ 494 _FUNC(Math, 1, rpyToQuaternion, rpy) \ 495 _FUNC(Math, 1, quaternionToRpy, quant) \ 496 _FUNC(Math, 1, tcpOffsetIdentify, poses) \ 497 _FUNC(Math, 2, calibrateCoordinate, poses, type) \ 498 _FUNC(Math, 4, calculateCircleFourthPoint, p1, p2, p3, mode) \ 499 _FUNC(Math, 2, forceTrans, pose_a_in_b, force_in_a) \ 500 _FUNC(Math, 4, getDeltaPoseBySensorDistance, distances, position, radius, track_scale) \ 501 _FUNC(Math, 2, deltaPoseTrans, pose_a_in_b, ft_in_a) \ 502 _FUNC(Math, 2, deltaPoseAdd, pose_a_in_b, v_in_b) std::shared_ptr< Math > MathPtr
std::tuple< std::vector< double >, int > ResultWithErrno
std::array< double, 3 > Vector3d